Test case v-sgml01: org.apache.crimson.parser.XMLReaderImpl Failed

Test case v-sgml01: org.apache.crimson.parser.XMLReaderImpl Failed

XML permits token reuse, while SGML does not.

<!DOCTYPE root [
    <!ELEMENT root EMPTY>
    <!--
	SGML dislikes token reuse.  It's legal XML, so any
	XML parser must accept it, though it's discouraged
	in documents "for interoperability"
    -->
    <!ATTLIST root
	status		(initial-draft|revision|final) "initial-draft"
	position	(first|intermediate|final) "first"
	>
]>

<root/>
Expected resultActual result for org.apache.crimson.parser.XMLReaderImpl
<?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
    <startDocument/>
    <startElement>
        <namespaceURI/>
        <localName>root</localName>
        <qualifiedName>root</qualifiedName>
        <attributes>
            <attribute>
                <namespaceURI/>
                <localName>position</localName>
                <qualifiedName>position</qualifiedName>
                <value>first</value>
                <type>NMTOKEN</type>
            </attribute>
            <attribute>
                <namespaceURI/>
                <localName>status</localName>
                <qualifiedName>status</qualifiedName>
                <value>initial-draft</value>
                <type>NMTOKEN</type>
            </attribute>
        </attributes>
    </startElement>
    <endElement>
        <namespaceURI/>
        <localName>root</localName>
        <qualifiedName>root</qualifiedName>
    </endElement>
    <endDocument/>
</ConformanceResults>
<?xml version="1.0" encoding="UTF-8"?>
<ConformanceResults>
    <startDocument/>
    <startElement>
        <namespaceURI/>
        <localName>root</localName>
        <qualifiedName>root</qualifiedName>
        <attributes>
            <attribute>
                <namespaceURI/>
                <localName>position</localName>
                <qualifiedName>position</qualifiedName>
                <value>first</value>
                <type>ENUMERATION</type>
            </attribute>
            <attribute>
                <namespaceURI/>
                <localName>status</localName>
                <qualifiedName>status</qualifiedName>
                <value>initial-draft</value>
                <type>ENUMERATION</type>
            </attribute>
        </attributes>
    </startElement>
    <endElement>
        <namespaceURI/>
        <localName>root</localName>
        <qualifiedName>root</qualifiedName>
    </endElement>
    <endDocument/>
</ConformanceResults>