FILE Item Attributes

From STX Wiki
Jump to navigationJump to search
File Item
INTRODUCING NEW SET ATTRIBUTES EXAMPLES

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
!UNCPATH full path of the file attached to the respective file item in UNC format
!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)
!UNCDIRECTORY the directory of the file attached to the respective file item (without a trailing backslash) in UNC format
!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 ".")
!FILENAME name and extension of the file
!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
!MTSTAMP modmin time of last modification in minutes since 1st January 1980
!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 a number >= 0 A value of 0 indicates that the file in memory is identical to that on disk. For all files except XML files, a value of 1 indicates that the file has been changed in memory and has not been saved yet. For XML files, the value may be greater than 1, and indicates the number of change operations which have been made since the last time the content was saved to 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 minval|* maxval|*
STRING unique{0|1} respect{0|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

Navigation menu

Personal tools