Test demonstrates the use of the optional character following a name or list to govern the number of times an element or content particles in the list occur.
<!DOCTYPE doc [ <!ELEMENT doc (a, b, c)> <!ELEMENT a (a?)> <!ELEMENT b (b*)> <!ELEMENT c (a | b)+> ]> <doc><a/><b/><c><a/></c></doc>
| Expected result | Actual result for net.sf.saxon.aelfred.SAXDriver |
|---|---|
<?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
<startDocument/>
<startElement>
<namespaceURI/>
<localName>doc</localName>
<qualifiedName>doc</qualifiedName>
<attributes/>
</startElement>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<startElement>
<namespaceURI/>
<localName>b</localName>
<qualifiedName>b</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>b</localName>
<qualifiedName>b</qualifiedName>
</endElement>
<startElement>
<namespaceURI/>
<localName>c</localName>
<qualifiedName>c</qualifiedName>
<attributes/>
</startElement>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<endElement>
<namespaceURI/>
<localName>c</localName>
<qualifiedName>c</qualifiedName>
</endElement>
<endElement>
<namespaceURI/>
<localName>doc</localName>
<qualifiedName>doc</qualifiedName>
</endElement>
<endDocument/>
</ConformanceResults>
| <?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
<startDocument/>
<resolveEntity>
<systemID>file:/home/elharo/SAXTest/xmlconf/xmltest/valid/sa/081.xml</systemID>
</resolveEntity>
<startElement>
<namespaceURI/>
<localName>doc</localName>
<qualifiedName>doc</qualifiedName>
<attributes/>
</startElement>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<startElement>
<namespaceURI/>
<localName>b</localName>
<qualifiedName>b</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>b</localName>
<qualifiedName>b</qualifiedName>
</endElement>
<startElement>
<namespaceURI/>
<localName>c</localName>
<qualifiedName>c</qualifiedName>
<attributes/>
</startElement>
<startElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
<attributes/>
</startElement>
<endElement>
<namespaceURI/>
<localName>a</localName>
<qualifiedName>a</qualifiedName>
</endElement>
<endElement>
<namespaceURI/>
<localName>c</localName>
<qualifiedName>c</qualifiedName>
</endElement>
<endElement>
<namespaceURI/>
<localName>doc</localName>
<qualifiedName>doc</qualifiedName>
</endElement>
<endDocument/>
</ConformanceResults>
|