Tests doctypedecl with external subset and combinations of different markup declarations and PEReferences
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE animal SYSTEM "ibm28v02.dtd" [
<!NOTATION animal_class SYSTEM "ibm28v02.txt">
<!ENTITY forcat "This is a small cat">
<!ELEMENT tiger (#PCDATA)>
<!ENTITY % make_small "<!ELEMENT small EMPTY>">
<!ENTITY % make_leopard_element "<!ELEMENT leopard ANY>">
<!ENTITY % make_attlist "<!ATTLIST tiger color CDATA #REQUIRED>">
%make_leopard_element;
<!ELEMENT cat ANY>
%make_small;
<!ENTITY % make_big "<!ELEMENT big EMPTY>">
%make_big;
%make_attlist;
<?sound "This is a PI" ?>
<!-- This is a valid test file for p28 -->
]>
<animal>
<cat>&forcat;</cat>
<tiger color="white">This is a white tiger in Mirage!!</tiger>
<cat/>
<leopard>
<small/>
<big/>
</leopard>
</animal>
| Expected result | Actual result for oracle.xml.parser.v2.SAXParser |
|---|---|
<?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
<startDocument/>
<processingInstruction>
<target>sound</target>
<data>"This\sis\sa\sPI"\s</data>
</processingInstruction>
<resolveEntity>
<systemID>file:/home/elharo/SAXTest/xmlconf/ibm/valid/P28/ibm28v02.dtd</systemID>
</resolveEntity>
<notation>
<name>animal_class</name>
<systemID>file:/home/elharo/SAXTest/xmlconf/ibm/valid/P28/ibm28v02.txt</systemID>
</notation>
<startElement>
<namespaceURI/>
<localName>animal</localName>
<qualifiedName>animal</qualifiedName>
<attributes/>
</startElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>cat</localName>
<qualifiedName>cat</qualifiedName>
<attributes/>
</startElement>
<char>T</char>
<char>h</char>
<char>i</char>
<char>s</char>
<char>\s</char>
<char>i</char>
<char>s</char>
<char>\s</char>
<char>a</char>
<char>\s</char>
<char>s</char>
<char>m</char>
<char>a</char>
<char>l</char>
<char>l</char>
<char>\s</char>
<char>c</char>
<char>a</char>
<char>t</char>
<endElement>
<namespaceURI/>
<localName>cat</localName>
<qualifiedName>cat</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>tiger</localName>
<qualifiedName>tiger</qualifiedName>
<attributes>
<attribute>
<namespaceURI/>
<localName>color</localName>
<qualifiedName>color</qualifiedName>
<value>white</value>
<type>CDATA</type>
</attribute>
</attributes>
</startElement>
<char>T</char>
<char>h</char>
<char>i</char>
<char>s</char>
<char>\s</char>
<char>i</char>
<char>s</char>
<char>\s</char>
<char>a</char>
<char>\s</char>
<char>w</char>
<char>h</char>
<char>i</char>
<char>t</char>
<char>e</char>
<char>\s</char>
<char>t</char>
<char>i</char>
<char>g</char>
<char>e</char>
<char>r</char>
<char>\s</char>
<char>i</char>
<char>n</char>
<char>\s</char>
<char>M</char>
<char>i</char>
<char>r</char>
<char>a</char>
<char>g</char>
<char>e</char>
<char>!</char>
<char>!</char>
<endElement>
<namespaceURI/>
<localName>tiger</localName>
<qualifiedName>tiger</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>cat</localName>
<qualifiedName>cat</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>cat</localName>
<qualifiedName>cat</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>leopard</localName>
<qualifiedName>leopard</qualifiedName>
<attributes/>
</startElement>
<char>\n</char>
<char>\s</char>
<char>\s</char>
<char>\s</char>
<char>\s</char>
<char>\s</char>
<char>\s</char>
<startElement>
<namespaceURI/>
<localName>small</localName>
<qualifiedName>small</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>small</localName>
<qualifiedName>small</qualifiedName>
</endElement>
<char>\n</char>
<char>\s</char>
<char>\s</char>
<char>\s</char>
<char>\s</char>
<char>\s</char>
<char>\s</char>
<startElement>
<namespaceURI/>
<localName>big</localName>
<qualifiedName>big</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>big</localName>
<qualifiedName>big</qualifiedName>
</endElement>
<char>\n</char>
<char>\s</char>
<char>\s</char>
<char>\s</char>
<endElement>
<namespaceURI/>
<localName>leopard</localName>
<qualifiedName>leopard</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<endElement>
<namespaceURI/>
<localName>animal</localName>
<qualifiedName>animal</qualifiedName>
</endElement>
<endDocument/>
</ConformanceResults>
| <?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
<startDocument/>
<processingInstruction>
<target>sound</target>
<data>"This\sis\sa\sPI"\s</data>
</processingInstruction>
<resolveEntity>
<systemID>file:/home/elharo/SAXTest/xmlconf/ibm/valid/P28/ibm28v02.dtd</systemID>
</resolveEntity>
<startElement>
<namespaceURI/>
<localName>animal</localName>
<qualifiedName>animal</qualifiedName>
<attributes/>
</startElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>cat</localName>
<qualifiedName>cat</qualifiedName>
<attributes/>
</startElement>
<char>T</char>
<char>h</char>
<char>i</char>
<char>s</char>
<char>\s</char>
<char>i</char>
<char>s</char>
<char>\s</char>
<char>a</char>
<char>\s</char>
<char>s</char>
<char>m</char>
<char>a</char>
<char>l</char>
<char>l</char>
<char>\s</char>
<char>c</char>
<char>a</char>
<char>t</char>
<endElement>
<namespaceURI/>
<localName>cat</localName>
<qualifiedName>cat</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>tiger</localName>
<qualifiedName>tiger</qualifiedName>
<attributes>
<attribute>
<namespaceURI/>
<localName>color</localName>
<qualifiedName>color</qualifiedName>
<value>white</value>
<type>CDATA</type>
</attribute>
</attributes>
</startElement>
<char>T</char>
<char>h</char>
<char>i</char>
<char>s</char>
<char>\s</char>
<char>i</char>
<char>s</char>
<char>\s</char>
<char>a</char>
<char>\s</char>
<char>w</char>
<char>h</char>
<char>i</char>
<char>t</char>
<char>e</char>
<char>\s</char>
<char>t</char>
<char>i</char>
<char>g</char>
<char>e</char>
<char>r</char>
<char>\s</char>
<char>i</char>
<char>n</char>
<char>\s</char>
<char>M</char>
<char>i</char>
<char>r</char>
<char>a</char>
<char>g</char>
<char>e</char>
<char>!</char>
<char>!</char>
<endElement>
<namespaceURI/>
<localName>tiger</localName>
<qualifiedName>tiger</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>cat</localName>
<qualifiedName>cat</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>cat</localName>
<qualifiedName>cat</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>leopard</localName>
<qualifiedName>leopard</qualifiedName>
<attributes/>
</startElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>small</localName>
<qualifiedName>small</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>small</localName>
<qualifiedName>small</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<startElement>
<namespaceURI/>
<localName>big</localName>
<qualifiedName>big</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>big</localName>
<qualifiedName>big</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<ignorable>\s</ignorable>
<endElement>
<namespaceURI/>
<localName>leopard</localName>
<qualifiedName>leopard</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<endElement>
<namespaceURI/>
<localName>animal</localName>
<qualifiedName>animal</qualifiedName>
</endElement>
<endDocument/>
</ConformanceResults>
|