CDATA section containing only white space does not match the nonterminal S, and cannot appear in these positions.
<!--
From: "Henry S. Thompson" <ht@cogsci.ed.ac.uk>
I'd be interested in reports from validating parsers wrt the
following:
-->
<!DOCTYPE foo [
<!ELEMENT foo (a+)>
<!ENTITY empty ''>
<!ENTITY space ' '>
<!ELEMENT a EMPTY>]>
<foo>
∅
<a/>
&space;
<a/>
<![CDATA[]]>
<a/>
<![CDATA[ ]]>
<a/>
</foo>
| Expected result | Actual result for net.sf.saxon.aelfred.SAXDriver |
|---|---|
<?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
<startDocument/>
<startElement>
<namespaceURI/>
<localName>foo</localName>
<qualifiedName>foo</qualifiedName>
<attributes/>
</startElement>
<ignorable>\n</ignorable>
<ignorable>\n</ignorable>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\n</ignorable>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\n</ignorable>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<char>\s</char>
<ignorable>\n</ignorable>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<endElement>
<namespaceURI/>
<localName>foo</localName>
<qualifiedName>foo</qualifiedName>
</endElement>
<endDocument/>
</ConformanceResults>
| <?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
<startDocument/>
<resolveEntity>
<systemID>file:/home/elharo/SAXTest/xmlconf/sun/invalid/empty.xml</systemID>
</resolveEntity>
<startElement>
<namespaceURI/>
<localName>foo</localName>
<qualifiedName>foo</qualifiedName>
<attributes/>
</startElement>
<ignorable>\n</ignorable>
<ignorable>\n</ignorable>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\s</ignorable>
<ignorable>\n</ignorable>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<ignorable>\n</ignorable>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<char>\s</char>
<ignorable>\n</ignorable>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<ignorable>\n</ignorable>
<endElement>
<namespaceURI/>
<localName>foo</localName>
<qualifiedName>foo</qualifiedName>
</endElement>
<endDocument/>
</ConformanceResults>
|