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 com.jclark.xml.sax.SAX2Driver |
---|---|
<?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/> <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> |