List of markup declaration constraints in XML (fwd)
Eve mailed me this for the FAQ, and has asked me to fwd it here too.
As promised, here are the notes I made in mid-November, with
annotations to bring them up to date. It covers just markup
declarations; I compiled it by skimming the parts of 8879 that
describe all the MDs. I don't know if this is a complete list, but
it's got to be pretty close!
>- No comments (-- --) inside markup declarations
>- Comment declarations can't have spaces in <!-- or -->
>- Comment declarations can't jump in and out of comments with -- --
These must be amended as appropriate to reflect --* *--.
>- No name groups for declaring multiple elements or element attlists
>- No CDATA or RCDATA declared content
>- No exclusions or inclusions on content models
>- Mixed content models must be optional-repeatable ORs, with #PCDATA first
>- No AND (ampersand) content model groups
>- No NAME[S], NUMBER[S], or NUTOKEN[S] declared values
>- No #CURRENT or #CONREF declared values
>- Attribute default values must be quoted
>- Marked sections can't have spaces in <![keyword[ or ]]>
>- No RCDATA, TEMP, IGNORE, or INCLUDE marked sections in instance
>- Marked sections in instance must have CDATA keyword, not parameter entity
>- No SDATA, CDATA, or bracketed internal entities
>- No SUBDOC, CDATA, or SDATA external entities
>- No public identifiers in entity and notation declarations
This one is in progress.
>- No data attributes on notations or att value specs on entity declarations
>- No SHORTREF declarations
>- No USEMAP declarations
>- No LINKTYPE declarations
>- No LINK declarations
>- No USELINK declarations
>- No IDLINK declarations
>- no SGML declarations
A PI isn't an markup declaration, but it plays one on TV, so it's
probably also useful to put this one in the list:
- PIs must be delimited by <? ?>, and the first part of its content
is expected to be a token that indicates the "notation" the rest of
the PI is in.
Presumaby CONCUR is out of the question :-)