A document may be marked 'standalone' if any attributes that need normalization are defined within the internal DTD subset.
<?xml version='1.0' standalone='yes'?> <!DOCTYPE attributes [ <!ELEMENT attributes EMPTY> <!-- 2.9 gives validity constraints applying to attributes in standalone docs: no external defaults or decls causing normalization. 3.3.3 describes the normalization rules --> <!ATTLIST attributes token (a|b|c) "a" notation (nonce|foo|bar) #IMPLIED nmtoken NMTOKEN #IMPLIED nmtokens NMTOKENS #IMPLIED id ID #IMPLIED idref IDREF #IMPLIED idrefs IDREFS #IMPLIED entity ENTITY #IMPLIED entities ENTITIES #IMPLIED cdata CDATA #IMPLIED > <!ENTITY internal " internal&number; "> <!ENTITY number "42"> <!NOTATION nonce SYSTEM "file:/dev/null"> <!NOTATION foo PUBLIC "-//public id//foo" "file:/dev/null"> <!NOTATION bar SYSTEM "file:/dev/tty"> <!ENTITY unparsed-1 PUBLIC "-//some public//ID" "file:/dev/console" NDATA nonce> <!ENTITY unparsed-2 SYSTEM "scheme://host/data" NDATA foo> ]> <attributes notation = " nonce " nmtoken = " this-gets-normalized " nmtokens = " this also gets normalized " id = " &internal; " idref = " &internal; " idrefs = " &internal; &internal; &internal;" entity = " unparsed-1 " entities = "unparsed-1 unparsed-2" cdata = "nothing happens to this one!" />
Expected result | Actual result for gnu.xml.aelfred2.XmlReader |
---|---|
<?xml version="1.0" encoding="UTF-8"?> <ConformanceResults> <startDocument/> <notation> <name>bar</name> <systemID>file:/dev/tty</systemID> </notation> <notation> <name>foo</name> <publicID>-//public id//foo</publicID> <systemID>file:/dev/null</systemID> </notation> <notation> <name>nonce</name> <systemID>file:/dev/null</systemID> </notation> <unparsedEntity> <name>unparsed-1</name> <publicID>-//some public//ID</publicID> <systemID>file:/dev/console</systemID> <notation>nonce</notation> </unparsedEntity> <unparsedEntity> <name>unparsed-2</name> <systemID>scheme://host/data</systemID> <notation>foo</notation> </unparsedEntity> <startElement> <namespaceURI/> <localName>attributes</localName> <qualifiedName>attributes</qualifiedName> <attributes> <attribute> <namespaceURI/> <localName>cdata</localName> <qualifiedName>cdata</qualifiedName> <value>nothing\shappens\sto\sthis\sone!</value> <type>CDATA</type> </attribute> <attribute> <namespaceURI/> <localName>entities</localName> <qualifiedName>entities</qualifiedName> <value>unparsed-1\sunparsed-2</value> <type>ENTITIES</type> </attribute> <attribute> <namespaceURI/> <localName>entity</localName> <qualifiedName>entity</qualifiedName> <value>unparsed-1</value> <type>ENTITY</type> </attribute> <attribute> <namespaceURI/> <localName>id</localName> <qualifiedName>id</qualifiedName> <value>internal42</value> <type>ID</type> </attribute> <attribute> <namespaceURI/> <localName>idref</localName> <qualifiedName>idref</qualifiedName> <value>internal42</value> <type>IDREF</type> </attribute> <attribute> <namespaceURI/> <localName>idrefs</localName> <qualifiedName>idrefs</qualifiedName> <value>internal42\sinternal42\sinternal42</value> <type>IDREFS</type> </attribute> <attribute> <namespaceURI/> <localName>nmtoken</localName> <qualifiedName>nmtoken</qualifiedName> <value>this-gets-normalized</value> <type>NMTOKEN</type> </attribute> <attribute> <namespaceURI/> <localName>nmtokens</localName> <qualifiedName>nmtokens</qualifiedName> <value>this\salso\sgets\snormalized</value> <type>NMTOKENS</type> </attribute> <attribute> <namespaceURI/> <localName>notation</localName> <qualifiedName>notation</qualifiedName> <value>nonce</value> <type>NMTOKEN</type> </attribute> <attribute> <namespaceURI/> <localName>token</localName> <qualifiedName>token</qualifiedName> <value>a</value> <type>NMTOKEN</type> </attribute> </attributes> </startElement> <endElement> <namespaceURI/> <localName>attributes</localName> <qualifiedName>attributes</qualifiedName> </endElement> <endDocument/> </ConformanceResults> | <?xml version="1.0" encoding="UTF-8"?> <ConformanceResults> <startDocument/> <endDocument/> <bug reason="Parser should only throw SAXExceptions" type="java.lang.ArrayIndexOutOfBoundsException">10 >= 10</bug> </ConformanceResults> |