Test case valid-sa-094: com.jclark.xml.sax.SAX2Driver Passed

Test case valid-sa-094: com.jclark.xml.sax.SAX2Driver Passed

Attribute defaults with a DTD have special parsing rules, different from other strings. That means that characters found there may look like an undefined parameter entity reference "within a markup declaration", but they aren't ... so they can't be violating the PEs in Internal Subset WFC.

<!DOCTYPE doc [
<!ENTITY % e "foo">
<!ELEMENT doc (#PCDATA)>
<!ATTLIST doc a1 CDATA "%e;">
]>
<doc></doc>
Expected resultActual result for com.jclark.xml.sax.SAX2Driver
<?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
    <startDocument/>
    <startElement>
        <namespaceURI/>
        <localName>doc</localName>
        <qualifiedName>doc</qualifiedName>
        <attributes>
            <attribute>
                <namespaceURI/>
                <localName>a1</localName>
                <qualifiedName>a1</qualifiedName>
                <value>%e;</value>
                <type>CDATA</type>
            </attribute>
        </attributes>
    </startElement>
    <endElement>
        <namespaceURI/>
        <localName>doc</localName>
        <qualifiedName>doc</qualifiedName>
    </endElement>
    <endDocument/>
</ConformanceResults>
<?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
    <startDocument/>
    <startElement>
        <namespaceURI/>
        <localName>doc</localName>
        <qualifiedName>doc</qualifiedName>
        <attributes>
            <attribute>
                <namespaceURI/>
                <localName>a1</localName>
                <qualifiedName>a1</qualifiedName>
                <value>%e;</value>
                <type>CDATA</type>
            </attribute>
        </attributes>
    </startElement>
    <endElement>
        <namespaceURI/>
        <localName>doc</localName>
        <qualifiedName>doc</qualifiedName>
    </endElement>
    <endDocument/>
</ConformanceResults>