|
|||||
Concrete syntaxes | |||||
A concrete syntax can be specified in the SGML Declaration, or a public identifier can be provided describing a public concrete syntax. If a public identifier is provided, the entity text associated with the public identifier must conform to the part of a concrete syntax defined by production [182] in ISO 8879, the SGML standard, starting with "shunned character number identification". In other words, the entity text must be what would be put in the SGML Declaration following the keyword SYNTAX (but it cannot be another public identifier). More precisely:
external public concrete syntax description = shunned character number identification, ps+, syntax-reference character set, ps+, function character identification, ps+, naming rules, ps+, delimiter set, ps+, reserved name use, ps+, quantity set
ps+
can be any combination of white space characters and SGML comments. Unlike a #CHARSET
or #CAPACITY
entity, a #SYNTAX
entity must contain something other than white space and comments: all parts of an "external public concrete syntax description" must be present.
Shown below is the Reference Concrete Syntax that appears in ISO 8879-1986 ("ISO 8879-1986//SYNTAX Reference//EN"). This is the "default" syntax that will be used if you do not define your own when building SGML documents.
SHUNCHAR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127 255 BASESET "ISO 646-1983//CHARSET International Reference Version (IRV)//ESC 2/5 4/0" DESCSET 0 256 0 FUNCTION RE 13 RS 10 SPACE 32 TAB SEPCHAR 9 NAMING LCNMSTRT "" UCNMSTRT "" LCNMCHAR "-." UCNMCHAR "-." NAMECASE GENERAL YES ENTITY NO DELIM GENERAL SGMLREF SHORTREF SGMLREF NAMES SGMLREF QUANTITY SGMLREF
---- |