Like sa03 but relies on attribute defaulting defined in the internal subset. 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, except that
one defaulted attribute is (re)defined internally
and so is one normalized one.
Similarly the entity refs are internal. Unparsed
entities and notations are not listed among the
items that must not be externally declared in
standalone documents, even though processors must
in theory report their identifiers.
-->
<!ATTLIST attributes
token (a|b|c) "a"
notation (nonce|foo|bar) #IMPLIED
>
<!ENTITY internal "internal&number;">
<!ENTITY number "42">
]>
<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!"
/>
<?pi equals three?>
| 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>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>
<processingInstruction>
<target>pi</target>
<data>equals\sthree</data>
</processingInstruction>
<endDocument/>
</ConformanceResults>
| <?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
<startDocument/>
<resolveEntity>
<systemID>file:/home/elharo/SAXTest/xmlconf/sun/valid/sa04.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>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>
<processingInstruction>
<target>pi</target>
<data>equals\sthree</data>
</processingInstruction>
<endDocument/>
</ConformanceResults>
|