xsd-parser 1.5.2

Rust code generator for XML schema files
Documentation
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="http://example.com"
    targetNamespace="http://example.com">

    <xs:complexType name="BaseType">
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="a" type="xs:string" />
            <xs:element minOccurs="0" maxOccurs="unbounded" name="b" type="xs:int" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="FirstRestrictedType">
        <xs:complexContent>
            <xs:restriction base="tns:BaseType">
                <xs:sequence>
                    <xs:element minOccurs="1" maxOccurs="1" name="a" type="xs:string" />
                </xs:sequence>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="SecondRestrictedType">
        <xs:complexContent>
            <xs:restriction base="tns:BaseType">
                <xs:sequence>
                    <xs:element minOccurs="1" maxOccurs="unbounded" name="b" type="xs:int" />
                </xs:sequence>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="ThirdRestrictedType">
        <xs:complexContent>
            <xs:restriction base="tns:SecondRestrictedType">
                <xs:sequence>
                    <xs:element minOccurs="1" maxOccurs="1" name="b" type="xs:int" />
                </xs:sequence>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>