[1]
(N.B. an internationalization issue arises here: if we prescribe
the non-SGML character method, we need to ensure that we aren't
causing problems for character sets other than ANSI X3.4, ISO 646,
ISO 8859, ISO 10646, etc.)
[return to text]
[2]
N.B. contextually required elements can be detected only by
validating parsers.
[return to text]
[3]
The third possibility can only be detected reliably by validating parsers,
though some cases
can be determined without validation (if a subelement cannot
appear anywhere in the current element, then it is not
legal at the current location in the current element).
The first two possibilities can be detected even without validation.
[return to text]
[4]
Goldfarb p. 315 claims the net effect is the same regardless
of omittag
, but if the element <blort> may self-nest,
then
<blort>this <>is <>a <>blort
does not have the behavior Goldfarb describes.
[return to text]
[5]
N.B. these can be
implemented only by validating parsers, if inclusion exceptions
are present.
[return to text]
[6]
Goldfarb comments
that this allows entity references to be used to suppress record
ends.
[return to text]
[7] N.B. The lists are incomplete, in the sense that lex and yacc require more modes and/or more terminal symbols, to work properly. Two examples: no mode is provided to allow the occurrence indicator to be recognized in the declaration
<!ELEMENT glossary - - (term, definition)+ >
and special modes are handy in lex for parsing comments,
marked-section keywords, literals, and the contents of
marked sections.
[return to text]
[8]
N.B. These are useful for character-set
switching of the type defined by ISO 2022 and required by
fully conformant use of ISO 8859. It is not clear
that they are ever used in practice, or that they handle
de facto character set switching practices on Macintoshes and
other font-friendly systems in Europe and North America,
nor the standard character sets of the Far East (e.g. EUC, Shift-JIS,
and other de facto forms of JIS 0208). Could we define
backslash quoting simply by defining backslash as
MSSCHAR
?
[return to text]
[9]
Goldfarb's commentary suggests that this is
solely for the sake of the record-end rules.
[return to text]