valid AttlistDecls: No AttDef's are required, and the terminating S is optional, multiple ATTLISTS per element are OK, and multiple declarations of the same attribute are OK.
<!DOCTYPE doc [ <!ELEMENT doc (#PCDATA|a|b|c|d)*> <!ELEMENT a EMPTY> <!ELEMENT b EMPTY> <!ELEMENT c EMPTY> <!ELEMENT d EMPTY> <!ATTLIST a> <!ATTLIST b > <!ATTLIST c att CDATA #IMPLIED> <!ATTLIST d att CDATA #IMPLIED> <!ATTLIST c att CDATA #IMPLIED att2 CDATA "second declaration is OK" att2 CDATA #REQUIRED > <!ATTLIST d> ]> <doc><c/><c att2="test"/></doc>
Expected result | Actual result for com.jclark.xml.sax.SAX2Driver |
---|---|
<?xml version="1.0" encoding="UTF-8"?> <ConformanceResults> <startDocument/> <startElement> <namespaceURI/> <localName>doc</localName> <qualifiedName>doc</qualifiedName> <attributes/> </startElement> <startElement> <namespaceURI/> <localName>c</localName> <qualifiedName>c</qualifiedName> <attributes> <attribute> <namespaceURI/> <localName>att2</localName> <qualifiedName>att2</qualifiedName> <value>second\sdeclaration\sis\sOK</value> <type>CDATA</type> </attribute> </attributes> </startElement> <endElement> <namespaceURI/> <localName>c</localName> <qualifiedName>c</qualifiedName> </endElement> <startElement> <namespaceURI/> <localName>c</localName> <qualifiedName>c</qualifiedName> <attributes> <attribute> <namespaceURI/> <localName>att2</localName> <qualifiedName>att2</qualifiedName> <value>test</value> <type>CDATA</type> </attribute> </attributes> </startElement> <endElement> <namespaceURI/> <localName>c</localName> <qualifiedName>c</qualifiedName> </endElement> <endElement> <namespaceURI/> <localName>doc</localName> <qualifiedName>doc</qualifiedName> </endElement> <endDocument/> </ConformanceResults> | <?xml version="1.0" encoding="UTF-8"?> <ConformanceResults> <startDocument/> <startElement> <namespaceURI/> <localName>doc</localName> <qualifiedName>doc</qualifiedName> <attributes/> </startElement> <startElement> <namespaceURI/> <localName>c</localName> <qualifiedName>c</qualifiedName> <attributes> <attribute> <namespaceURI/> <localName>att2</localName> <qualifiedName>att2</qualifiedName> <value>second\sdeclaration\sis\sOK</value> <type>CDATA</type> </attribute> </attributes> </startElement> <endElement> <namespaceURI/> <localName>c</localName> <qualifiedName>c</qualifiedName> </endElement> <startElement> <namespaceURI/> <localName>c</localName> <qualifiedName>c</qualifiedName> <attributes> <attribute> <namespaceURI/> <localName>att2</localName> <qualifiedName>att2</qualifiedName> <value>test</value> <type>CDATA</type> </attribute> </attributes> </startElement> <endElement> <namespaceURI/> <localName>c</localName> <qualifiedName>c</qualifiedName> </endElement> <endElement> <namespaceURI/> <localName>doc</localName> <qualifiedName>doc</qualifiedName> </endElement> <endDocument/> </ConformanceResults> |