XML Schema

Structure of XML-data exchange format

XML: The markup language

XML is a markup language which posses the capability to express the text data in a structural manner. It enables to define and extends ones own document format. This goal is achieved through the help of Document Type Definition (DTD) or through XML Schema file. XML instance created according to the given described format can be finally verified against the given DTD or Schema. This assures the correctness concerning the given format.

Definition of the structure via "XML Schema"

The following picture shows the systematic structure of the XML format via a XML Schema. A XML Schema is a recommendation from the World Wide Web Consortium (W3C) for the definition and description of XML documents and can be declared direct inside the XML document.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="0.1">
    <xs:complexType name="LandMobileDataFormatType">
        <xs:sequence>
            <xs:element name="header">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="fileNumber">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:pattern value="\d{1,2}"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="fileContents" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="80"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="fileContentsCode">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:length value="1"/>
                                    <xs:enumeration value="O"/>
                                    <xs:enumeration value="N"/>
                                    <xs:enumeration value="M"/>
                                    <xs:enumeration value="D"/>
                                    <xs:enumeration value="A"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="country">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="3"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="nameResponsiblePerson" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="40"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="phone" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="20"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="telefax" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="20"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="eMail" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="20"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="numberOfRecords">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:pattern value="\d{0,6}"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="writingDate" type="xs:date"/>
                        <xs:element name="destinationCountry" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="3"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="reserved" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="16"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="record" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:choice>
                            <xs:element name="transmittFrequency">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="transmittFreq">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:decimal">
                                                    <xs:totalDigits value="10"/>
                                                    <xs:fractionDigits value="5"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="transmittFreqUnit">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:length value="1"/>
                                                    <xs:enumeration value="k"/>
                                                    <xs:enumeration value="M"/>
                                                    <xs:enumeration value="G"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="receptionFrequency">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="receptionFreq">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:decimal">
                                                    <xs:totalDigits value="10"/>
                                                    <xs:fractionDigits value="5"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="receptionFreqUnit">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:length value="1"/>
                                                    <xs:enumeration value="k"/>
                                                    <xs:enumeration value="M"/>
                                                    <xs:enumeration value="G"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:choice>
                        <xs:element name="frequencyCategory">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:length value="1"/>
                                    <xs:enumeration value="1"/>
                                    <xs:enumeration value="2"/>
                                    <xs:enumeration value="3"/>
                                    <xs:enumeration value="4"/>
                                    <xs:enumeration value="5"/>
                                    <xs:enumeration value="6"/>
                                    <xs:enumeration value="7"/>
                                    <xs:enumeration value="8"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="classOfStation">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:length value="2"/>
                                    <xs:pattern value="[A-Z][A-Z]"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="natureOfService">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:length value="2"/>
                                    <xs:pattern value="[A-Z][A-Z]"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="categoryOfUse">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="2"/>
                                    <xs:pattern value="[A-I|K-Z]+"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="channelOccupation" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:length value="1"/>
                                    <xs:enumeration value="0"/>
                                    <xs:enumeration value="1"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="dateOfUse" type="xs:date" minOccurs="0"/>
                        <xs:element name="nameOfStation" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="20"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="country">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="3"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="geographicalCoordinates" minOccurs="0">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="longitude">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:length value="8"/>
                                                <xs:pattern value="\d\d\d(E|W)\d\d\d\d"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="latitude">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:length value="7"/>
                                                <xs:pattern value="\d\d(N|S)\d\d\d\d"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="radiusServiceArea">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:pattern value="\d{1,5}"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="heigthAboveSeaLevel">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:totalDigits value="4"/>
                                    <xs:pattern value="(\d{1,4})|((-|\+)\d{1,3})"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="designationOfEmission">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="7"/>
                                    <xs:maxLength value="9"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="maxRadPowerOfTheStation" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:decimal">
                                    <xs:totalDigits value="5"/>
                                    <xs:fractionDigits value="1"/>
                                    <xs:pattern value="(-|\+)?((\d{0,3}\.\d)|(\d{1,3}\.))"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="typeOfReferenceAntenna">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:length value="1"/>
                                    <xs:enumeration value="E"/>
                                    <xs:enumeration value="I"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="azimuthOfMaxRad" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:decimal">
                                    <xs:totalDigits value="4"/>
                                    <xs:fractionDigits value="1"/>
                                    <xs:minInclusive value="0.0"/>
                                    <xs:maxInclusive value="359.9"/>
                                    <xs:pattern value="(\d{0,3}\.\d)|(\d{1,3}\.)"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="elevationAngle" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:decimal">
                                    <xs:totalDigits value="4"/>
                                    <xs:fractionDigits value="1"/>
                                    <xs:minInclusive value="-90.0"/>
                                    <xs:maxInclusive value="90.0"/>
                                    <xs:pattern value="(-|(\+))?((\d{0,2}\.\d)|(\d{1,2}\.)|(\d{1,2}\.\d)|(\d{1,2}))"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="polarization">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="2"/>
                                    <xs:enumeration value="H"/>
                                    <xs:enumeration value="V"/>
                                    <xs:enumeration value="SR"/>
                                    <xs:enumeration value="SL"/>
                                    <xs:enumeration value="CR"/>
                                    <xs:enumeration value="CL"/>
                                    <xs:enumeration value="D"/>
                                    <xs:enumeration value="M"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="gainReceiverAntenna" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:decimal">
                                    <xs:totalDigits value="3"/>
                                    <xs:fractionDigits value="1"/>
                                    <xs:pattern value="(\d{0,2}\.\d)|(\d{1,2}\.)|(\d{1,2}\.\d)|(\d{1,2})"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="heigthAntAboveGround">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:pattern value="\s*\d{0,4}"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="typeOfAntenna">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="horizontal">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:length value="7"/>
                                                <xs:pattern value="\d\d\d[A-Za-z][A-Za-z]\d\d"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="vertical">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:length value="7"/>
                                                <xs:pattern value="\d\d\d[A-Za-z][A-Za-z]\d\d"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="remarks" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="50"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="statusOfCoordination" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:length value="1"/>
                                    <xs:enumeration value="A"/>
                                    <xs:enumeration value="B"/>
                                    <xs:enumeration value="C"/>
                                    <xs:enumeration value="D"/>
                                    <xs:enumeration value="E"/>
                                    <xs:enumeration value="F"/>
                                    <xs:enumeration value="G"/>
                                    <xs:enumeration value="H"/>
                                    <xs:enumeration value="M"/>
                                    <xs:enumeration value="P"/>
                                    <xs:enumeration value="R"/>
                                    <xs:enumeration value="W"/>
                                    <xs:enumeration value="Y"/>
                                    <xs:enumeration value="Z"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="dateCoordinationRequest" type="xs:date" minOccurs="0"/>
                        <xs:element name="dateAchievingCoordination" type="xs:date" minOccurs="0"/>
                        <xs:element name="coordinationReference" minOccurs="0">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:length value="15"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="nationalAdministrationData" minOccurs="0">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="operator">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:length value="2"/>
                                                <xs:enumeration value="E1"/>
                                                <xs:enumeration value="E2"/>
                                                <xs:enumeration value="D1"/>
                                                <xs:enumeration value="D2"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="userId">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:minLength value="1"/>
                                                <xs:maxLength value="20"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="processNumber" minOccurs="0">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:pattern value="\d{1,8}"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="schemeVersion" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:decimal">
                    <xs:totalDigits value="4"/>
                    <xs:fractionDigits value="2"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:element name="LandMobileDataFormat" type="LandMobileDataFormatType"/>
</xs:schema>

Please click on the download button to download the XML-Schema file: