Legato
Legato

GoFiler Legato Script Reference

 

Legato v 1.5d

Application v 5.25a

  

 

Chapter ElevenSGML Functions (continued)

11.12 HTML/XML Fields

11.12.1 General

Fields are a proprietary construct using structured SGML comments to convey information about a section of the document or some specified attribute of the content of the document. Fields are a defined method of adding information such as section numbering, text includes and other information that is inert to the reader.

Fields are structured both internally and externally like CSS and HTML. Field properties are specified in the form of property-value pairs like CSS declarations and field elements are like HTML in that they can have open and close elements. 

This section provides a series of functions to access and change field information via a Field Object. the purpose is to allow for script field support. This section does not discuss how fields operate in the application’s HTML environment. See the HTML Field Reference and the associated application User Manual for information regarding field specifications and use.

11.12.2 Field Structure

Field structure is as follows:

<!-- Field: Name; Param1: Value1; Param2: Value2; Param3: Value3; .... -->

Where:

<!-- data -->

Is an HTML comment as a container for a field.

Field: Name

The first item must be ‘Field:’ with a known name. Names can be preceded by a slash ‘/’ to denote a closing field.

Param: Value

A series of known parameter names and values. Value data must be encoded in URL fashion.

Most fields have both open and close pseudo tags. For example:

<!-- Field: Sequence; Type: Legal -->1.1.2<!-- Field: /Sequence -->

Closing fields do not have parameters. 

11.12.3 Field Names and Tokens

The following field names are defined in the Legato SDK:

  SDK Definition   Bitwise   Description  
  Comments          
    SGML_FIELD_NAME_ANNOTATION   0x00030001   Annotation  
    SGML_FIELD_NAME_COMMENT   0x00030002   Comment  
  Control          
    SGML_FIELD_NAME_CONDITIONAL   0x00030011   Conditional Segment  
    SGML_FIELD_NAME_LINK   0x00030012   Link to External File  
    SGML_FIELD_NAME_INCLUDE_TEXT   0x00030013   Included-Text/File  
    SGML_FIELD_NAME_INSERT   0x00030014   Insert (Text)  
    SGML_FIELD_NAME_NAMED_AREA   0x00030015   Named Area  
    SGML_FIELD_NAME_SET   0x00030016   Set Environment/Name Variable  
    SGML_FIELD_NAME_SPLIT_SEGMENT   0x00030017   File is Split Segment  
  Date          
    SGML_FIELD_NAME_DATE_TIME   0x00030021   Generated Date and Time  
  Document Info          
    SGML_FIELD_NAME_DOC_INFO   0x00030041   Document Default Info  
    SGML_FIELD_NAME_DOC_DEFAULT   0x00030042   Document Default Value  
  Indexing          
    SGML_FIELD_NAME_AUTO_INDEX   0x00030051   Generated Index  
    SGML_FIELD_NAME_AUTO_TOC   0x00030052   Generated TOC  
  List          
    SGML_FIELD_NAME_LIST   0x00030061   List (table)  
  Pagination          
    SGML_FIELD_NAME_PAGE_DATA   0x00030071   Page Data (Header/Footer, parameters)  
  Pseudo Data          
    SGML_FIELD_NAME_PSEUDO_TAG   0x00030081   Pseudo-Tag  
  Rules          
    SGML_FIELD_NAME_RULE_PAGE   0x00030091   Page Rule Sequence  
    SGML_FIELD_NAME_RULE_TABLE   0x00030092   Table Rule Sequence  
  Sequence Number          
    SGML_FIELD_NAME_SEQUENCE   0x000300A1   Generated Sequence Number  
  Symbol          
    SGML_FIELD_NAME_SYMBOL   0x000300B1   Symbol Auto  
  Table          
    SGML_FIELD_NAME_TABLE   0x000300C1   Table Additional Info  
  Text          
    SGML_FIELD_NAME_MARK   0x000300D1   Mark/Highlight Area  
    SGML_FIELD_NAME_MERGE_FIELD   0x000300D2   Merge Field  
    SGML_FIELD_NAME_MERGE_RECORD   0x000300D3   Merge Record Area  
  Translation          
    SGML_FIELD_NAME_XDATA   0x000300E1   Translate Clue Data  

 

In addition, there are reserved and control bits:

  SDK Definition   Bitwise   Description  
  Masks/Codes          
    SGML_FIELD_RESERVE   0xFFF00000   Area Reserved (for SGML token, etc)  
    SGML_FIELD_TYPE_MASK   0x000F0000   Type of Field Mask  
    SGML_FIELD_TOKEN_MASK   0x00000FFF   Field Token Mask (zero reserved for error)  
    SGML_FIELD_TYPE_PROPERTY   0x00010000   Property Name  
    SGML_FIELD_TYPE_PROPERTY_CALLER   0x00020000   Caller Property Name  
    SGML_FIELD_TYPE_NAME   0x00030000   Field Name (must position with TT_)  
    SGML_FIELD_TYPE_NAME_CALLER   0x00040000   Caller Field Name  
  Close        
    SGML_FIELD_CLOSE   0x00008000   Field token is close field.  

 

11.12.4 Field Parameters

The following parameter names are defined in the Legato SDK:

  SDK Definition   Bitwise   Description  
  Parameter Names          
    SGML_FIELD_PROP_CONTEXT   0x00010001   Context  
    SGML_FIELD_PROP_DATA   0x00010002   Data  
    SGML_FIELD_PROP_DATE   0x00010003   Date  
    SGML_FIELD_PROP_FIELD   0x00010004   Field (should be first)  
    SGML_FIELD_PROP_FILE   0x00010005   File  
    SGML_FIELD_PROP_FILTER   0x00010006   Filter  
    SGML_FIELD_PROP_FORMAT   0x00010007   Format  
    SGML_FIELD_PROP_ID   0x00010008   ID  
    SGML_FIELD_PROP_LEVEL   0x00010009   Level  
    SGML_FIELD_PROP_MAP   0x0001000A   Map  
    SGML_FIELD_PROP_MODE   0x0001000B   Mode  
    SGML_FIELD_PROP_NAME   0x0001000C   Name  
    SGML_FIELD_PROP_OPTIONS   0x0001000D   Options  
    SGML_FIELD_PROP_RANGE   0x0001000E   Range  
    SGML_FIELD_PROP_SECTION   0x0001000F   Section  
    SGML_FIELD_PROP_SEQUENCE   0x00010010   Sequence  
    SGML_FIELD_PROP_SIZE   0x00010011   Size  
    SGML_FIELD_PROP_STATUS   0x00010012   Status  
    SGML_FIELD_PROP_STYLE   0x00010013   Style  
    SGML_FIELD_PROP_TEMPLATE   0x00010014   Template  
    SGML_FIELD_PROP_TYPE   0x00010015   Type  
    SGML_FIELD_PROP_VALUE   0x00010016   Value  
    SGML_FIELD_PROP_VERSION   0x00010017   Version  

 

11.12.5 Functions

FieldCreateObject — Creates a Field Object from an SGML, Mapped Text or Edit Object.

FieldFindClosingField — Locates the closing field based on the current field.

FieldFindField — Finds a specific field by token or name from the current or specified parse point.

FieldGetFieldContent — Locates the closing field and returns the content of the field.

FieldLoadString — Loads a string into a new Field Object.

FieldNextField — Scans forward from the current or specified position to locate a field.

FieldReset — Resets the Field Object and sets a specific token type to create a new field.

FieldTokenToString — Translates a field token to a string value.

FieldToString — Creates a string version of the current field object.

FieldWrite — Writes the current field back to the source object.

FieldFromParameters — Creates a field string based on supplied parameters.

FieldToParameters — Parses a supplied field in a string and returns a list of parameters.

FieldGetFieldPosEX — Gets the position for the ending X last parsed item.

FieldGetFieldPosEY — Gets the position for the ending Y last parsed item.

FieldGetFieldPosSX — Gets the position for the starting X last parsed item.

FieldGetFieldPosSY — Gets the position for the starting Y last parsed item.

FieldGetFieldProperties — Returns all properties associated with a field.

FieldGetFieldResult — Gets the parse result flags.

FieldGetParseString — Returns a copy of the parse buffer from the last parse action.

FieldGetFieldToken — Returns the field token value.

FieldDeleteParameter — Deletes a field parameter from the current field.

FieldGetParameter — Gets the value for a specified parameter as a string or token.

FieldGetParameters — Returns an array of all parameters as key names and values.

FieldSetParameter — Sets a value into a specified parameter token.

EnumerateSetFields — Enumerates all 'set' fields within a specified file.