Commit 4a1b7b6c authored by Paul Taylor's avatar Paul Taylor
Browse files

updated xsd to match asn.1

parent 25f7fc64
Loading
Loading
Loading
Loading
Loading
+30 −26
Original line number Diff line number Diff line
@@ -97,11 +97,11 @@ VLANID ::= INTEGER (0..4095)

ServiceAccessIdentifier ::= UTF8String

Percentage ::= INTEGER (1..100)
Percentage ::= INTEGER (0..100)

AltitudeMeters ::= INTEGER (-1000..50000)

Altitude ::== CHOICE
Altitude ::= CHOICE
{
	altitudeAboveGroundLevel  [0] AltitudeMeters,
	altitudeAboveMeanSeaLevel [1] AltitudeMeters
@@ -109,58 +109,62 @@ Altitude ::== CHOICE

UncertaintyMeters ::= INTEGER (1..MAX)

GNSSLocation ::== SEQUENCE
{
	wGS84Location [0] WGS84Location,
	fixMode       [1] FixMode
GNSSLocation ::== SEQUENCE
GNSSLocation ::= SEQUENCE
{
	location [0] GEOShape,
	fixMode  [1] FixMode,
	...
	fixMode  [1] FixMode
}

WGS84Location ::== SEQUENCE
WGS84Location ::= SEQUENCE
{
	location    [0] WGS84Coordinate,
	altitude    [1] Altitude OPTIONAL,	
	...
	altitude    [1] Altitude OPTIONAL
}

WGS84Coordinate ::= CHOICE
{
    wGS84CoordinateDecimal [0] Common-Parameters.WGS84CoordinateDecimal,
    wGS84CoordinateAngular [1] Common-Parameters.WGS84CoordinateAngular,
    ...
    wGS84CoordinateAngular [1] Common-Parameters.WGS84CoordinateAngular
}

GEOShape ::== SEQUENCE
GEOShape ::= SEQUENCE
{
	shape      [0] GMLShape,
	confidence [1] Percentage OPTIONAL,
	...
	confidence [1] Percentage OPTIONAL
}

GMLShape ::== CHOICE
GMLShape ::= CHOICE
{
    point       [0] GEOPoint,
    sphere      [1] GEOSphere,
    ...
    xyEllipsoid [2] XYEllipsoid
}

GEOPoint ::= CHOICE
{
    wGS84Point [0] WGS84Point,
    ...
    wGS84Point [0] WGS84Location
}

GEOSphere ::= SEQUENCE
{
    centerPoint  [0] GEOPoint,
    radiusMeters [1] INTEGER,
    ...
    radiusMeters [1] UncertaintyMeters
}

Percentage ::= INTEGER (0..100)
XYEllipsoid ::= SEQUENCE
{
    centerPoint          [0] GEOPoint,
    uncertaintyLongitude [1] UncertaintyMeters,
    uncertaintyLatitude  [2] UncertaintyMeters,
    uncertaintyAltitude  [3] UncertaintyMeters OPTIONAL
}

FixMode ::= ENUMERATED
{
    unknown (0),
    noFix   (1),
    fix2D   (2),
    fix3D   (3)
}

END
+75 −39
Original line number Diff line number Diff line
@@ -313,49 +313,85 @@
    <xs:simpleType name="VRF">
        <xs:restriction base="ShortString"/>
    </xs:simpleType>
    <xs:simpleType name="VRF">
        <xs:restriction base="ShortString"/>
    </xs:simpleType>
    <xs:simpleType name="GNSSFixMode">
      <xs:restriction base="xs:string">
        <xs:enumeration value="noFix"/>
        <xs:enumeration value="2D"/>
        <xs:enumeration value="3D"/>
        <xs:enumeration value="differentialGNSS"/>
    <xs:simpleType name="Percentage">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="100"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="WGS84Altitude">
    <xs:simpleType name="AltitudeMeters">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="-1000"/>
            <xs:maxInclusive value="50000"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="Altitude">
        <xs:choice>
            <xs:element name="altitudeAboveGroundLevel" type="AltitudeMeters"/>
            <xs:element name="altitudeAboveMeanSeaLevel" type="AltitudeMeters"/>
        </xs:choice>
    </xs:complexType>
    <xs:simpleType name="UncertaintyMeters">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
        <xs:maxInclusive value="10000"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="WGS84CoordinateDecimalExtended">
    <xs:complexType name="GNSSLocation">
        <xs:sequence>
        <xs:element name="fixMode" type="GNSSFixMode"/>
        <xs:element name="latitude" type="WGS84LatitudeDecimal" minOccurs="0"/>
        <xs:element name="longitude" type="WGS84LongitudeDecimal" minOccurs="0"/>
        <xs:element name="altitude" type="WGS84Altitude" minOccurs="0"/>
        <xs:element name="uncertaintyLatitude" type="UncertaintyMeters" minOccurs="0"/>
        <xs:element name="uncertaintyLongitude" type="UncertaintyMeters" minOccurs="0"/>
        <xs:element name="uncertaintyAltitude" type="UncertaintyMeters" minOccurs="0"/>
            <xs:element name="location" type="GEOShape"/>
            <xs:element name="fixMode" type="FixMode"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="WGS84Location">
        <xs:sequence>
            <xs:element name="location" type="WGS84Coordinate"/>
            <xs:element name="altitude" type="Altitude" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="WGS84CoordinateAngularExtended">
    <xs:complexType name="WGS84Coordinate">
        <xs:choice>
            <xs:element name="wGS84CoordinateDecimal" type="WGS84CoordinateDecimal"/>
            <xs:element name="wGS84CoordinateAngular" type="WGS84CoordinateAngular"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="GEOShape">
        <xs:sequence>
        <xs:element name="fixMode" type="GNSSFixMode"/>
        <xs:element name="latitude" type="WGS84LatitudeAngular" minOccurs="0"/>
        <xs:element name="longitude" type="WGS84LongitudeAngular" minOccurs="0"/>
        <xs:element name="altitude" type="WGS84Altitude" minOccurs="0"/>
        <xs:element name="uncertaintyLatitude" type="UncertaintyMeters" minOccurs="0"/>
        <xs:element name="uncertaintyLongitude" type="UncertaintyMeters" minOccurs="0"/>
            <xs:element name="shape" type="GMLShape"/>
            <xs:element name="confidence" type="Percentage" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GMLShape">
        <xs:choice>
            <xs:element name="point" type="GEOPoint"/>
            <xs:element name="sphere" type="GEOSphere"/>
            <xs:element name="xyEllipsoid" type="XYEllipsoid"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="GEOPoint">
        <xs:choice>
            <xs:element name="wGS84Point" type="WGS84Location"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="GEOSphere">
        <xs:sequence>
            <xs:element name="centerPoint" type="GEOPoint"/>
            <xs:element name="radiusMeters" type="UncertaintyMeters"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="XYEllipsoid">
        <xs:sequence>
            <xs:element name="centerPoint" type="GEOPoint"/>
            <xs:element name="uncertaintyLongitude" type="UncertaintyMeters"/>
            <xs:element name="uncertaintyLatitude" type="UncertaintyMeters"/>
            <xs:element name="uncertaintyAltitude" type="UncertaintyMeters" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="FixMode">
        <xs:restriction base="xs:string">
            <xs:enumeration value="unknown"/>
            <xs:enumeration value="noFix"/>
            <xs:enumeration value="fix2D"/>
            <xs:enumeration value="fix3D"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>