Three equivalent ways to specify an unconstrained data type ... are there others?

"Costello, Roger L." <[email protected]> Sat, 20 Oct 2012 12:04:19 +0000
Newsgroups gmane.text.xml.schema.devel
Message-ID <[email protected]>
Hi Folks,

Below are declarations of three elements, E1, E2, and E3. All three elements have the same data type: an unconstrained string. All other data types (boolean, integer, etc.) can be similarly specified. Thus there are 3 ways to specify the same thing for every built-in data type.

Can you think of any other ways to specify an unconstrained data type?

    <xs:element name="E1" type="xs:string" />  
    
    <xs:element name="E2" type="string-equivalent-1" /> 
    
    <xs:element name="E3" type="string-equivalent-2" />
    
    <xs:complexType name="string-equivalent-1">
        <xs:simpleContent>
            <xs:extension base="xs:string" />
        </xs:simpleContent>
    </xs:complexType>
    
    <xs:simpleType name="string-equivalent-2">
        <xs:restriction base="xs:string" />
    </xs:simpleType>

/Roger