> indeed, if we assume that #1 and #1 are the same and -, we can have a 
> faster alternative, but we may want to play safe. How does this keyword 
> mechanism work? Are there only officially registered ones?

Here is the full list. It is case-sensitive, and not extensible in any way.

Within any XML instance document:

<![CDATA[
<!--
<!DOCTYPE

Only within the bracketed part of DOCTYPE or in an external DTD:

<!ELEMENT
<!ATTLIST
<!ENTITY
<!NOTATION

Only in DTDs:

<![INCLUDE
<![IGNORE
<![%....;

A space character is allowed after the [ in these three.

These last ones are used in building/parameterising the DTD, like this:

<!ENTITY % draft 'INCLUDE' >
<!ENTITY % final 'IGNORE' >
<![%draft;[
<!ELEMENT book (comments*, title, body, supplements?)>
]]>
<![%final;[
<!ELEMENT book (title, body, supplements?)>
]]>


Nothing else that starts with <! is allowed to appear anywhere, except
within a <![CDATA section (where it doesnt count as markup).

-- 
groeten,

Taco

Reply via email to