Test case ibm-not-wf-p28a-ibm28an01.xml: oracle.xml.parser.v2.SAXParser Failed

Test case ibm-not-wf-p28a-ibm28an01.xml: oracle.xml.parser.v2.SAXParser Failed

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 resultActual 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/not-wf/p28a/ibm28an01.dtd</systemID>
    </resolveEntity>
    <fatalError/>
    <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/not-wf/p28a/ibm28an01.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>