Markup declarations code generators for tab-separated values parsing and processing for use via FSI system identifiers.
Static bundled module containing functions for generating markup declaration code text for parsing and processing tab-separated value data streams.
Storage manager notation declarations for invoking
these bundled module functions are exposed via
the declaration set resolved by the public identifier
//IDN sgml.net//DTD FSISM TSV parsing declaration utilities//EN
.
Member Details
- generate_element_decl() static
-
Generates element declarations for use within a tab-separated parsing and processing template.
Generates element declarations for the respective fields from the
container
,record
, andfields
data attributes supplied viasystem.env
.The
tsv_element_decl
storage manager notation is declared as:<!NOTATION tsv_element_decl SYSTEM> <!ATTLIST #NOTATION tsv_element_decl superdcn NAME #FIXED module module CDATA #FIXED "tsvparsing" function CDATA #FIXED "generate_element_decl" container NAME #REQUIRED record NAME #REQUIRED fields NAMES #REQUIRED>
For a parameter entity declared as:
<?IS10744 FSIDR tsv_notation_decl FSIDefDoc="+//IDN sgml.net//DTD FSISM TSV parsing declaration utilities//EN"> <!ENTITY % decl-text SYSTEM "<tsv_notation_decl container="container_element" record="record_element" fields="field_element1 field_element2 ...>">
element declarations in
decl-text
are generated as follows:<!ELEMENT container_element - - (record_element+)> <!ELEMENT record_element - - (field_element1,field_element2,...)> <!ELEMENT field_element1 - - (#PCDATA)> <!ELEMENT field_element2 - - (#PCDATA)> ...
- generate_entity_decl() static
-
Generates general entity declarations for use within a tab-separated parsing and processing template.
Generates general entity declarations containing start- and end-element tag sequences for the respective fields from the
record
andfields
data attributes supplied viasystem.env
.The
tsv_entity_decl
storage manager notation is declared as:<!NOTATION tsv_entity_decl SYSTEM> <!ATTLIST #NOTATION tsv_entity_decl superdcn NAME #FIXED module module CDATA #FIXED "tsvparsing" function CDATA #FIXED "generate_entity_decl" record NAME #REQUIRED fields NAMES #REQUIRED>
Entity declarations are generated as follows:
<!ENTITY start-fields "<record_element><field_element1>"> <!ENTITY end-record_element "</field_elementN></record_element>"> <!ENTITY end-field_element1 "</field_element1><field_element2>"> <!ENTITY end-field_element2 "</field_element2><field_element3>"> ... <!ENTITY end-field_elementN ...>
- generate_linkattr_decl() static
-
Generates link attribute declarations for use within a tab-separated parsing and processing template.
Generates link attribute declarations from the
fields
data attribute declaring link attributes having the same name as field elements, as well as auxiliary attributes.The
tsv_linkattr_decl
storage manager notation is declared as:<!NOTATION tsv_linkattr_decl SYSTEM> <!ATTLIST #NOTATION tsv_linkattr_decl superdcn NAME #FIXED module module CDATA #FIXED "tsvparsing" function CDATA #FIXED "generate_linkattr_decl" fields NAMES #REQUIRED>
Link attribute declarations are generated as follows:
<!ATTLIST (field_element1|field_element2|...) field_element1 CDATA #IMPLIED field_element2 CDATA #IMPLIED template NOTATION (field_element1|field_element2|...) #IMPLIED NotNames CDATA #IMPLIED>
- generate_linkrule_decl() static
-
Generates link rules declaration text for use within a tab-separated parsing and processing template.
Generates a declaration fragment containing link rules from the
record
andfields
data attributes.The generated linkrules have the purpose to pull, via a
NotNames
rule, element content into a same-named data attribute of a template applied in the context.Note that, since the result markup element of all generated link rules up to the last one is
#IMPLIED
, no template application is expected to actually be performed. The link rules, up to the last one, are only applied for the side effect of fetching element content into data attributes and updating#CURRENT
values for the respective data attribute. Only the last link rules is actually designed to perform a template application.The
tsv_linkrule_decl
storage manager notation is declared as:<!NOTATION tsv_linkrule_decl SYSTEM> <!ATTLIST #NOTATION tsv_linkrule_decl superdcn NAME #FIXED module module CDATA #FIXED "tsvparsing" function CDATA #FIXED "generate_linkrule_decl" record NAME #REQUIRED fields NAMES #REQUIRED>
The generated link rule fragment is generated as follows:
field_element1 [ template=field_element1 NotNames="field_element1 #CONTENT" ] #IMPLIED field_element2 [ template=field_element2 NotNames="field_element2 #CONTENT" ] #IMPLIED field_elementN [ template=field_elementN NotNames="field_elementN #CONTENT" ] record_element
- generate_notation_decl() static
-
Generates notation declarations for use within a tab-separated parsing and processing template.
Generates notation and data attribute declarations for declaring notations from the
fields
andtemplate_sysid
data attributes for use as template notations in a link process.The declared template notations will capture and propagate notation attribute values via
#CURRENT
semantics to subsequent field elements within a field element sequennce, such that on the last field element, all values * can be captured as DAFE attributes and promoted to a template application.Note the notations have the same name as the data attributes declared on them, which however is inconsequential to the processing obtained by using these declaratations.
Note even though "%template_sysid" is declared as system identifier on all generated notations, a template application is only expected on the last field element, the other notation declarations only being generated for capturing values via
#CURRENT
attribute semantics.The
tsv_notation_decl
storage manager notation is declared as:<!NOTATION tsv_notation_decl SYSTEM> <!ATTLIST #NOTATION tsv_notation_decl superdcn NAME #FIXED module module CDATA #FIXED "tsvparsing" function CDATA #FIXED "generate_notation_decl" fields NAMES #REQUIRED template_sysid CDATA #REQUIRED>
Notation and data attribute declarations are generated as follows:
<!NOTATION field_element1 PUBLIC "ISO 8879:1986//NOTATION Standard Generalized Markup Language (SGML)//EN" "%template_sysid"> <!NOTATION field_element2 PUBLIC "ISO 8879:1986//NOTATION Standard Generalized Markup Language (SGML)//EN" "%template_sysid"> <!NOTATION field_element3 PUBLIC "ISO 8879:1986//NOTATION Standard Generalized Markup Language (SGML)//EN" "%template_sysid"> ... <!ATTLIST #NOTATION (field_element1|field_element2|field_element3|...) field_element1 CDATA #CURRENT> <!ATTLIST #NOTATION (field_element2|field_element3|...) field_element2 field_element2 CDATA #CURRENT> <!ATTLIST #NOTATION (field_element3...) field_element2 field_element3 CDATA #CURRENT>
- generate_shortref_decl() static
-
Generates short-reference map declarations for use within a tab-separated parsing and processing template.
Generates short-reference map declarations from the
container
andfields
data attributes supplied viasystem.env
, acting on tab and record-end short reference delimiters for producing entity references as generated by generate_entity_decl().The
tsv_shortref_decl
storage manager notation is declared as:<!NOTATION tsv_shortref_decl SYSTEM> <!ATTLIST #NOTATION tsv_shortref_decl superdcn NAME #FIXED module module CDATA #FIXED "tsvparsing" function CDATA #FIXED "generate_shortref_decl" container NAME #REQUIRED record NAME #REQUIRED fields NAMES #REQUIRED>
Short reference map declarations are generated as follows:
<!SHORTREF in-container_element "&#RS" start-fields> <!SHORTREF in-field_element1 "&#TAB" end-field_element1> <!SHORTREF in-field_element2 "&#TAB" end-field_element2> ... <!SHORTREF in-field_elementN "&#RE" end-record_element>
- generate_usemap_decl() static
-
Generates short-reference use declarations for use within a tab-separated parsing and processing template.
Generates short-reference use declarations from the
container
andfields
data attributes supplied viasystem.env
, making short-reference maps declared using generate_shortref_decl() used within content of the respective elements.The
tsv_usemap_decl
storage manager notation is declared as:<!NOTATION tsv_usemap_decl SYSTEM> <!ATTLIST #NOTATION tsv_usemap_decl superdcn NAME #FIXED module module CDATA #FIXED "tsvparsing" function CDATA #FIXED "generate_usemap_decl" container NAME #REQUIRED fields NAMES #REQUIRED>
Short reference use declarations are generated as follows:
<!USEMAP in-container_element container-element> <!USEMAP in-field_element1 field_element1> <!USEMAP in-field_element2 field_element2> ...