MichielCM / xsd2html2xml

Generates plain HTML5 forms from XML schemas (XSDs). Transforms filled-in forms into XML.
MIT License
95 stars 42 forks source link

XML within annotation/documentation elements is parsed #14

Closed MichielCM closed 5 years ago

MichielCM commented 5 years ago

This code generates two xml:lang attributes:

<xs:complexType name="SimpleLiteral" mixed="true">
    <xs:annotation>
        <xs:documentation xml:lang="en">This is the default type for all of the DC elements.
        It permits text content only with optional
        xml:lang attribute.
        Text is allowed because mixed="true", but sub-elements
        are disallowed because minOccurs="0" and maxOccurs="0" 
        are on the xs:any tag.

        This complexType allows for restriction or extension permitting
        child elements.</xs:documentation>
        <xs:documentation xml:lang="en">This structure has been altered from 
        its original declaration of:
            <xs:complexType name="SimpleLiteral">
                <xs:complexContent mixed="true">
                    <xs:restriction base="xs:anyType">
                        <xs:sequence>
                            <xs:any processContents="lax" minOccurs="0" maxOccurs="0"/>
                        </xs:sequence>
                        <xs:attribute ref="xml:lang" use="optional"/>
                    </xs:restriction>
                </xs:complexContent>
            </xs:complexType>Such a restriction from the xs:anyType is unnecessary, as this is 
        implicit in all types. Further, the xs:any element with a minOccurs="0" 
        causes issues with Apache Xml Beans. This declaration allows for an 
        equivalent content model while still allowing extensions from this type
        to declare elements to allow for true mixed content.</xs:documentation>
    </xs:annotation>
    <xs:attribute ref="xml:lang" use="optional"/>
</xs:complexType>
MichielCM commented 5 years ago

Fixed in release 3.1.