The following file item attributes can be queried in the format $#fileItem[Attribute]
.
Common file item attributes
Attribute
|
Value(s) and Description
|
!PATH
|
full path of the file attached to the respective file item
|
!DRIVE
|
the drive letter of the file attached to the respective file item (without a colon)
|
!DIRECTORY
|
the directory of the file attached to the respective file item (without a trailing backslash)
|
!NAME
|
the name of file attached to the respective file item
|
!EXTENSION
|
extension part of the filename of the file attached to the respective file item (without a leading ". ")
|
!CREATED
|
yyyy.mm.dd hh.mm.ss
|
creation date and time of file attached to the file item
|
!MODIFIED
|
yyyy.mm.dd hh.mm.ss
|
time of last modification of file attached to the file item
|
!ATTRIBUTES
|
DIRECTORY|SYSTEM|HIDDEN|NORMAL
|
type attributes of file attached to the file item
|
!ACCESS
|
READ|WRITE|APPEND
|
access attributes of file attached to the file item
|
!SIZE
|
filesize
|
size of file attached to the file item in bytes
|
!TYPE
|
FILE|LIST|TEXT|SECTION|XML
|
type of file item (set in NEW command)
|
!SHELL
|
owner
|
shellidid of shell creating the file item (8 hex digits)
|
!USERS
|
numusers
|
number of linked items sharing the file item
|
!LASTACCESS
|
yyyy.mm.dd hh.mm.ss
|
date and time of the last access to the file attached to the file item
|
!CHANGED
|
1|0
|
A value of 1 indicates that the file has been changed in memory and has not been saved yet. A value of 0 indicates that the file in memory is identical to that on disk.
|
assigning 1 or 0
|
You may programmatically set, or reset, the value of the !CHANGED attribute by assigning 1 , or 0 , to this attribute:
$#file[!changed] := 1 // set the attribute
$#file[!changed] := 0 // reset the attribute
Warning: this functionality changed in version 3.9.0. Previously, setting the attribute using '1' would reset the attribute, and using the value '0' was unsupported.
|
Binary file items
Attribute
|
Value(s)
|
Description
|
!BININFO
|
number of sections
|
After a LIST command, !BININFO will return the index of the last section loaded/saved.
|
After a LOAD command -1 , if the file is not a binary file, or the last command failed.
|
GDX file items
The GDX file item supports the following attributes in addition to the general file item attributes.
Attribute
|
Value(s) and Description
|
!DATA
|
The !DATA attribute returns data from the GDX file.
$#gdx[!DATA] // returns all the data
$#gdx[!DATA,index,count] // returns one or more columns
Here the index argument determines the first column, and the count argument determines the number of columns to return.
|
!DATATYPE
|
The !DATATYPE attribute returns the data type of this GDX file (See Creating a GDX file for details).
|
!NCOL
|
The !NCOL attribute returns the number of columns.
|
!NROW
|
The !NROW attribute returns the number of rows.
|
!NWRITTEN
|
The !NWRITTEN attribute returns the number of columns which have been written (rather than defined).
|
XML file items
General attributes of XML file items
Attribute
|
Value(s)
|
Description
|
!XROOT
|
root_element_nametag
|
name of the root element
|
!XPARENT
|
parent_element_nametag
|
name of the parent element
|
!XPARENTPATH
|
root_element_name\…\parent_element_name
|
full path of the parent element
|
!XELEMENTS
|
elementcountnumber
|
of elements on selected element level
|
!XNODETYPE
|
ELEMENT|COMMENT|PROC|DOCTYPE
|
type of the selected node
|
Attributes of the selected element of an XML file item
Attribute
|
Argument
|
Value(s) and Description
|
!XALL
|
|
|
a list of all element parts
|
tag |
element tag name
|
empty |
1 if element data is empty, 0 otherwise
|
cdata |
1 if element data is a CData-section, 0 otherwise
|
childs |
number of child elements
|
size |
size of data section (characters)
|
nattr |
number of attributes
|
attr0,… |
name of attribute 0, … (0 to nattr-1)
|
!XTAG
|
-
|
element_tag
|
!XATTRIBUTES
|
-
|
number_of_attributes
|
!XATTRIBUTE
|
index
|
attribute_name name of attribute number index
|
!XATTRIBUTE
|
name
|
attribute_value value of attribute named name
|
!XEMPTY
|
-
|
returns 1 if element is empty (no data) and 0 otherwise
|
!XCDATA
|
-
|
returns 1 if element contains a CData section and 0 otherwise
|
!XCHILDS or !XCHILDREN
|
-
|
returns number of child elements of the selected element
|
!XSIZE
|
-
|
size of data section in characters
|
!XDATA
|
-
|
content of data section
|
Document/element type definition attributes of an XML file item
Attribute-Id
|
Sub-Id 1
|
Sub-Id 2
|
Value(s) and Description
|
!XDTNAME
|
-
|
-
|
name of document type definition
|
!XDTROOT
|
-
|
-
|
tag of root element
|
!XDTELEMENTS
|
-
|
-
|
number of defined element types
|
!XDTELEMENT
|
index or tag
|
-
|
definition of element type with specified index or tag; the result is
tag parent base nobase data with :
tag |
element tag
|
parent
|
parent element tag or *
|
base
|
base element tag or *
|
nobase
|
nobase element tag or *
|
data
|
data type name or *
|
|
!XDTCHILDREN
|
tag
|
-
|
number of children defined for element tag
|
!XDTCHILD
|
tag
|
cindex or ctag
|
definition of child cindex or ctag of the element tag. The result is:ctag min maxwith:
ctag |
tag of child element
|
min
|
number of minimum occurrences
|
max
|
number of maximum occurrences or -1 if not defined
|
|
!XDTATTRIBUTES
|
tag
|
-
|
number of attributes defined for element tag
|
!XTDATTRIBUTE
|
tag
|
aindex or aname
|
definition of attribute aindex or aname of element tag. The result is:aname req vis val type paramswith:
aname |
name of attribute
|
req
|
required flag (0=no, 1=yes)
|
vis
|
visibility flag (0=hidden, 1=value, 2=name and value)
|
val
|
default value of * if not set
|
type
|
attribute value type (INTEGER , NUMBER , STRING , VALUELIST )
|
params
|
|
INTEGER
|
minval|* maxval|*
|
NUMBER
|
<code><var>minval</var>|* <var>maxval</var>|*</code>
|
STRING
|
1}
|
VALUELIST
|
value1 value2 …
|
|
!XDTISA
|
tag
|
none
|
returns 1 if the selected element of the file item is of type tag or is derived from tag and 0 otherwise
|