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 net.sf.saxon.aelfred.SAXDriver |
---|---|
<?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/> <resolveEntity> <systemID>file:/home/elharo/SAXTest/xmlconf/ibm/valid/P28/ibm28v02.xml</systemID> </resolveEntity> <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>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> |