Re: The road ahead

MicroXSD? (e.g. below or here http://www.stephengreenxml.org.uk/MicroXSD.xsd)
----
Stephen D Green



<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="2012.02" xmlns="http://www.w3.org/2001/XMLSchema">
    <!-- MicroXSD 2012.02 -->
    <!-- -->
    <element name="schema">
        <complexType>
            <sequence>
                <element name="element" minOccurs="0">
                    <complexType>
                        <sequence>
                            <element name="complexType"
type="complexType_type"/>
                        </sequence>
                        <attribute name="name" type="NCName"
use="required"/>
                    </complexType>
                </element>
            </sequence>
            <attribute name="version" type="string" use="optional"/>
            <attribute name="attributeFormDefault" use="required"
fixed="unqualified"/>
            <attribute name="elementFormDefault" use="required"
fixed="qualified"/>
            <attribute name="targetNamespace" type="string" use="optional"/>
        </complexType>
    </element>
    <complexType name="element_type">
        <sequence>
            <element name="complexType" type="complexType_type"/>
        </sequence>
        <attribute name="name" type="NCName" use="required"/>
        <attribute name="minOccurs" use="optional">
            <simpleType>
                <restriction base="string">
                    <enumeration value="0"/>
                    <enumeration value="1"/>
                </restriction>
            </simpleType>
        </attribute>
        <attribute name="maxOccurs" use="optional">
            <simpleType>
                <restriction base="string">
                    <enumeration value="1"/>
                    <enumeration value="unbounded"/>
                </restriction>
            </simpleType>
        </attribute>
    </complexType>
    <simpleType name="base_type">
        <restriction base="string">
            <enumeration value="string"/>
            <enumeration value="decimal"/>
            <enumeration value="integer"/>
            <enumeration value="date"/>
            <enumeration value="dateTime"/>
            <enumeration value="boolean"/>
            <enumeration value="base64Binary"/>
        </restriction>
    </simpleType>
    <group name="element_sequence_choice">
        <choice>
            <element name="element" type="element_type"/>
            <group ref="sequence_choice"/>
        </choice>
    </group>
    <complexType name="restriction_type">
        <attribute name="base" type="base_type" use="required"/>
    </complexType>
    <complexType name="attribute_type">
        <sequence>
            <element name="simpleType" type="simpleType_type"/>
        </sequence>
        <attribute name="use" use="optional">
            <simpleType>
                <restriction base="string">
                    <enumeration value="optional"/>
                    <enumeration value="required"/>
                </restriction>
            </simpleType>
        </attribute>
        <attribute name="name" type="NCName" use="required"/>
    </complexType>
    <complexType name="extension_type">
        <sequence>
            <element name="attribute" type="attribute_type" minOccurs="0"
maxOccurs="unbounded"/>
        </sequence>
        <attribute name="base" type="base_type" use="required"/>
    </complexType>
    <complexType name="complexType_type">
        <choice>
            <element name="simpleContent">
                <complexType>
                    <sequence>
                        <element name="extension" type="extension_type"/>
                    </sequence>
                </complexType>
            </element>
            <sequence>
                <group ref="sequence_choice" minOccurs="0"/>
                <element name="attribute" type="attribute_type"
minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
        </choice>
        <attribute name="mixed" use="optional">
            <simpleType>
                <restriction base="string">
                    <enumeration value="true"/>
                    <enumeration value="false"/>
                </restriction>
            </simpleType>
        </attribute>
    </complexType>
    <complexType name="simpleType_type">
        <sequence>
            <element name="restriction" type="restriction_type"/>
        </sequence>
    </complexType>
    <group name="sequence_choice">
        <choice>
            <element name="sequence">
                <complexType>
                    <group ref="element_sequence_choice"
maxOccurs="unbounded"/>
                </complexType>
            </element>
            <element name="choice">
                <complexType>
                    <group ref="element_sequence_choice"
maxOccurs="unbounded"/>
                </complexType>
            </element>
        </choice>
    </group>
</schema>

Received on Tuesday, 25 September 2012 08:59:26 UTC