<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           version="3">
    <xs:element name="countryCodes">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="countryGroups">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="countryGroup" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="grpNr" type="xs:int" use="required"/>
                                    <xs:attribute name="grpUser" type="xs:string" use="required"/>
                                    <xs:attribute name="nameDe" type="xs:string" use="required"/>
                                    <xs:attribute name="nameFr" type="xs:string" use="required"/>
                                    <xs:attribute name="nameIt" type="xs:string" use="required"/>
                                    <xs:attribute name="nameEn" type="xs:string" use="required"/>
                                    <xs:attribute name="validFrom" type="xs:date" use="required"/>
                                    <xs:attribute name="validTo" type="xs:date" use="required"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="countries">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="country" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="countryGroupAssignment" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="grpNr" type="xs:int" use="required"/>
                                                <xs:attribute name="prio" type="xs:string"/>
                                                <xs:attribute name="validFrom" type="xs:date" use="required"/>
                                                <xs:attribute name="validTo" type="xs:date" use="required"/>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                    <xs:attribute name="isoCode" use="required">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:length value="2"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:attribute>
                                    <xs:attribute name="nameDe" type="xs:string" use="required"/>
                                    <xs:attribute name="nameFr" type="xs:string" use="required"/>
                                    <xs:attribute name="nameIt" type="xs:string" use="required"/>
                                    <xs:attribute name="nameEn" type="xs:string" use="required"/>
                                    <xs:attribute name="validFrom" type="xs:date" use="required"/>
                                    <xs:attribute name="validTo" type="xs:date" use="required"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="created" type="xs:dateTime" use="required"/>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="classType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="primary"/>
            <xs:enumeration value="referential"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
