Schema Name: RelaxNG.xsd
Target Namespace: http://relaxng.org/ns/structure/1.0
Collapse XSD Schema Code:

<!--Created with Liquid XML Studio 2013 Designer Edition 11.0.0.0 (http://www.liquid-technologies.com)-->
<xs:schema xmlns:structure="http://relaxng.org/ns/structure/1.0"
           elementFormDefault="qualified"
           targetNamespace="http://relaxng.org/ns/structure/1.0"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:group name="pattern">
        <xs:choice>
            <xs:element ref="structure:element" />
            <xs:element ref="structure:attribute" />
            <xs:element ref="structure:group" />
            <xs:element ref="structure:interleave" />
            <xs:element name="choice">
                <xs:complexType>
                    <xs:group ref="structure:open-patterns" />
                    <xs:attributeGroup ref="structure:common-atts" />
                </xs:complexType>
            </xs:element>
            <xs:element ref="structure:optional" />
            <xs:element ref="structure:zeroOrMore" />
            <xs:element ref="structure:oneOrMore" />
            <xs:element ref="structure:list" />
            <xs:element ref="structure:mixed" />
            <xs:element ref="structure:ref" />
            <xs:element ref="structure:parentRef" />
            <xs:element ref="structure:empty" />
            <xs:element ref="structure:text" />
            <xs:element ref="structure:value" />
            <xs:element ref="structure:data" />
            <xs:element ref="structure:notAllowed" />
            <xs:element ref="structure:externalRef" />
            <xs:element ref="structure:grammar" />
        </xs:choice>
    </xs:group>
    <xs:element name="element">
        <xs:complexType>
            <xs:sequence>
                <xs:group minOccurs="0"
                          ref="structure:open-name-class" />
                <xs:group ref="structure:open-patterns" />
            </xs:sequence>
            <xs:attribute name="name"
                          type="xs:QName" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="attribute">
        <xs:complexType>
            <xs:sequence>
                <xs:group minOccurs="0"
                          ref="structure:open-name-class" />
                <xs:choice minOccurs="0"
                           maxOccurs="unbounded">
                    <xs:group ref="structure:other" />
                    <xs:group ref="structure:pattern" />
                </xs:choice>
            </xs:sequence>
            <xs:attributeGroup ref="structure:common-atts" />
            <xs:attribute name="name"
                          type="xs:QName" />
        </xs:complexType>
    </xs:element>
    <xs:element name="group">
        <xs:complexType>
            <xs:group ref="structure:open-patterns" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="interleave">
        <xs:complexType>
            <xs:group ref="structure:open-patterns" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="optional">
        <xs:complexType>
            <xs:group ref="structure:open-patterns" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="zeroOrMore">
        <xs:complexType>
            <xs:group ref="structure:open-patterns" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="oneOrMore">
        <xs:complexType>
            <xs:group ref="structure:open-patterns" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="list">
        <xs:complexType>
            <xs:group ref="structure:open-patterns" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="mixed">
        <xs:complexType>
            <xs:group ref="structure:open-patterns" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="ref">
        <xs:complexType>
            <xs:attribute name="name"
                          type="xs:NCName"
                          use="required" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="parentRef">
        <xs:complexType>
            <xs:attribute name="name"
                          type="xs:NCName"
                          use="required" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="empty">
        <xs:complexType>
            <xs:group ref="structure:other" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="text">
        <xs:complexType>
            <xs:group ref="structure:other" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="value">
        <xs:complexType mixed="true">
            <xs:attribute name="type"
                          type="xs:NCName" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="data">
        <xs:complexType>
            <xs:choice minOccurs="0"
                       maxOccurs="unbounded">
                <xs:group ref="structure:other" />
                <xs:choice>
                    <xs:element ref="structure:param" />
                    <xs:element name="except">
                        <xs:complexType>
                            <xs:group ref="structure:open-patterns" />
                            <xs:attributeGroup ref="structure:common-atts" />
                        </xs:complexType>
                    </xs:element>
                </xs:choice>
            </xs:choice>
            <xs:attribute name="type"
                          type="xs:NCName"
                          use="required" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="param">
        <xs:complexType mixed="true">
            <xs:attribute name="name"
                          type="xs:NCName"
                          use="required" />
        </xs:complexType>
    </xs:element>
    <xs:element name="notAllowed">
        <xs:complexType>
            <xs:group ref="structure:other" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="externalRef">
        <xs:complexType>
            <xs:group ref="structure:other" />
            <xs:attribute name="href"
                          type="xs:anyURI"
                          use="required" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:element name="grammar">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="structure:grammar-content">
                    <xs:attributeGroup ref="structure:common-atts" />
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="grammar-content">
        <xs:choice minOccurs="0"
                   maxOccurs="unbounded">
            <xs:group ref="structure:other" />
            <xs:choice>
                <xs:element ref="structure:start" />
                <xs:element ref="structure:define" />
                <xs:element name="div">
                    <xs:complexType>
                        <xs:complexContent>
                            <xs:extension base="structure:grammar-content">
                                <xs:attributeGroup ref="structure:common-atts" />
                            </xs:extension>
                        </xs:complexContent>
                    </xs:complexType>
                </xs:element>
                <xs:element ref="structure:include" />
            </xs:choice>
        </xs:choice>
    </xs:complexType>
    <xs:element name="include">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="structure:include-content">
                    <xs:attribute name="href"
                                  type="xs:anyURI"
                                  use="required" />
                    <xs:attributeGroup ref="structure:common-atts" />
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="include-content">
        <xs:choice minOccurs="0"
                   maxOccurs="unbounded">
            <xs:group ref="structure:other" />
            <xs:choice>
                <xs:element ref="structure:start" />
                <xs:element ref="structure:define" />
                <xs:element name="div">
                    <xs:complexType>
                        <xs:complexContent>
                            <xs:extension base="structure:include-content">
                                <xs:attributeGroup ref="structure:common-atts" />
                            </xs:extension>
                        </xs:complexContent>
                    </xs:complexType>
                </xs:element>
            </xs:choice>
        </xs:choice>
    </xs:complexType>
    <xs:element name="start">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="structure:open-pattern">
                    <xs:attributeGroup ref="structure:combine-att" />
                    <xs:attributeGroup ref="structure:common-atts" />
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="define">
        <xs:complexType>
            <xs:group ref="structure:open-patterns" />
            <xs:attribute name="name"
                          type="xs:NCName"
                          use="required" />
            <xs:attributeGroup ref="structure:combine-att" />
            <xs:attributeGroup ref="structure:common-atts" />
        </xs:complexType>
    </xs:element>
    <xs:attributeGroup name="combine-att">
        <xs:attribute name="combine">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <xs:enumeration value="choice" />
                    <xs:enumeration value="interleave" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:group name="open-patterns">
        <xs:sequence>
            <xs:choice minOccurs="0"
                       maxOccurs="unbounded">
                <xs:group ref="structure:other" />
                <xs:group ref="structure:pattern" />
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="open-pattern">
        <xs:choice minOccurs="0"
                   maxOccurs="unbounded">
            <xs:group ref="structure:other" />
            <xs:group ref="structure:pattern" />
        </xs:choice>
    </xs:complexType>
    <xs:group name="name-class">
        <xs:choice>
            <xs:element ref="structure:name" />
            <xs:element ref="structure:anyName" />
            <xs:element ref="structure:nsName" />
<!--            <xs:element name="choice">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="structure:open-name-classes">
                            <xs:attributeGroup ref="structure:common-atts" />
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>-->
        </xs:choice>
    </xs:group>
    <xs:element name="name">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:QName">
                    <xs:attributeGroup ref="structure:common-atts" />
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="anyName">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="structure:except-name-class">
                    <xs:attributeGroup ref="structure:common-atts" />
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="nsName">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="structure:except-name-class">
                    <xs:attributeGroup ref="structure:common-atts" />
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="except-name-class">
        <xs:choice minOccurs="0"
                   maxOccurs="unbounded">
            <xs:group ref="structure:other" />
            <xs:element ref="structure:except" />
        </xs:choice>
    </xs:complexType>
    <xs:element name="except"
                type="structure:open-name-classes" />
    <xs:complexType name="open-name-classes">
        <xs:choice minOccurs="0"
                   maxOccurs="unbounded">
            <xs:group ref="structure:other" />
            <xs:group ref="structure:name-class" />
        </xs:choice>
    </xs:complexType>
    <xs:group name="open-name-class">
        <xs:sequence>
            <xs:choice minOccurs="0"
                       maxOccurs="unbounded">
                <xs:group ref="structure:other" />
                <xs:group ref="structure:name-class" />
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:attributeGroup name="common-atts">
        <xs:attribute name="ns" />
        <xs:attribute name="datatypeLibrary"
                      type="xs:anyURI" />
        <xs:anyAttribute namespace="##other"
                         processContents="skip" />
    </xs:attributeGroup>
    <xs:group name="other">
        <xs:sequence>
            <xs:choice minOccurs="0"
                       maxOccurs="unbounded">
                <xs:any namespace="##other"
                        processContents="skip" />
                <xs:any namespace="##local"
                        processContents="skip" />
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:group name="any">
        <xs:sequence>
            <xs:any processContents="skip" />
        </xs:sequence>
    </xs:group>
</xs:schema>
Collapse AttributeGroups:
Collapse ComplexTypes:
Collapse Elements:
Collapse Groups: