A document may be marked 'standalone' if any the defined entities need expanding are internal, and no attributes need defaulting or normalization. On output, requires notations to be correctly reported.
<?xml version='1.0' standalone='yes'?> <!DOCTYPE attributes SYSTEM "sa.dtd" [ <!-- This one is standalone since the values are pre-normalized in this document, and the defaulted attribute is explicit. Similarly the entity refs are internal and don't need normalization ... the unparsed entities (and entities) aren't "references" --> <!ENTITY internal "internal&number;"> <!ENTITY number "42"> ]> <attributes token = "b" notation = "foo" 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 net.sf.saxon.aelfred.SAXDriver |
---|---|
<?xml version="1.0" encoding="UTF-8"?> <ConformanceResults> <startDocument/> <resolveEntity> <systemID>file:/home/elharo/SAXTest/xmlconf/sun/valid/sa.dtd</systemID> </resolveEntity> <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>foo</value> <type>NMTOKEN</type> </attribute> <attribute> <namespaceURI/> <localName>token</localName> <qualifiedName>token</qualifiedName> <value>b</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/> <resolveEntity> <systemID>file:/home/elharo/SAXTest/xmlconf/sun/valid/sa03.xml</systemID> </resolveEntity> <resolveEntity> <systemID>file:/home/elharo/SAXTest/xmlconf/sun/valid/sa.dtd</systemID> </resolveEntity> <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>foo</value> <type>NMTOKEN</type> </attribute> <attribute> <namespaceURI/> <localName>token</localName> <qualifiedName>token</qualifiedName> <value>b</value> <type>NMTOKEN</type> </attribute> </attributes> </startElement> <endElement> <namespaceURI/> <localName>attributes</localName> <qualifiedName>attributes</qualifiedName> </endElement> <endDocument/> </ConformanceResults> |