The IBM XML parser had some problems with the teixlite.dtd.
The following shows examples of the lines which made the parser stumble
and compares the lines with the XML recommendation.
1) Attribute values are declared without quotation marks (q.m.). Here is
default (YES | NO) NO
The last NO is the default declaration of the attribut 'default'.
default declaration hat the notation
DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue)
In this case we have an AttValue (attibut value), which has the notation:
AttValue ::= '"' ([^<&"] | Reference)* '"' | "'" ([^<&'] | Reference)* "'"
This says, that every attribut value has to be in single or double q.m.
So the IBM parser seems to be correct, when he complains about missing q.m.
org (composite | uniform) "uniform"
sample (initial | medial | final | unknown | complete) "complete"
2) unknown default declarations
type CDATA #CURRENT
default declaration can have the value #REQUIRED, #IMPLIED, #FIXED
#CURRENT is not an option.
3) Use of unsupported attribut types
p.e. NUMBER, NAME
rows NUMBER #IMPLIED
cols NUMBER #IMPLIED
gi NAME #REQUIRED
NUMBER, NAMES and NAME were allowed attribut types in SGML but are not
supported in XML
Here is the text from the xml recommendation:
AttType ::= StringType | TokenizedType | EnumeratedType
StringType ::= 'CDATA'
TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN'
EnumeratedType ::= NotationType | Enumeration
4) wrong element declaration
<!ELEMENT formula CDATA >
has to be something like
<!ELEMENT formula (#PCDATA) >
As far as I understand things the parser seems to be right.
Hope this helps,
PS: Which XML parser did the editors use to check the teixlite.dtd?