This test violates WFC:PE Between Declarations in Production 28a. The last character of a markup declaration is not contained in the same parameter-entity text replacement.
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE animal SYSTEM "ibm28an01.dtd" [ <!ELEMENT animal (cat|tiger|leopard)+> <!NOTATION animal_class SYSTEM "ibm29v01.txt"> <!ELEMENT cat ANY> <!ENTITY forcat "This is a small cat"> <!ELEMENT tiger (#PCDATA)> <!ELEMENT small EMPTY> <!ELEMENT big EMPTY> <!ATTLIST tiger color CDATA #REQUIRED> <?sound "This is a PI" ?> <!-- This is a comment --> ]> <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/not-wf/p28a/ibm28an01.dtd</systemID> </resolveEntity> <fatalError/> <endDocument/> </ConformanceResults> | <?xml version="1.0" encoding="UTF-8"?> <ConformanceResults> <startDocument/> <resolveEntity> <systemID>file:/home/elharo/SAXTest/xmlconf/ibm/not-wf/p28a/ibm28an01.xml</systemID> </resolveEntity> <processingInstruction> <target>sound</target> <data>"This\sis\sa\sPI"\s</data> </processingInstruction> <resolveEntity> <systemID>file:/home/elharo/SAXTest/xmlconf/ibm/not-wf/p28a/ibm28an01.dtd</systemID> </resolveEntity> <notation> <name>animal_class</name> <systemID>ibm29v01.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> |