<?xml version="1.0"?>
<xs:schema
    targetNamespace="urn:ietf:params:xml:ns:pidf:geopriv10:dynamic"
    xmlns:dyn="urn:ietf:params:xml:ns:pidf:geopriv10:dynamic"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">

  <xs:element name="Dynamic" type="dyn:dynamicType"/>

  <xs:complexType name="dynamicType">
    <xs:complexContent>
      <xs:restriction base="xs:anyType">
        <xs:sequence>
          <xs:element name="orientation" minOccurs="0"
                      type="dyn:directionType"/>
          <xs:element name="speed" minOccurs="0"
                      type="xs:double"/>
          <xs:element name="heading" minOccurs="0"
                      type="dyn:directionType"/>
          <xs:any namespace="##other" processContents="lax"
                  minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:simpleType name="directionType">
    <xs:restriction base="dyn:doubleListType">
      <xs:minLength value="1"/>
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="doubleListType">
    <xs:list itemType="xs:double"/>
  </xs:simpleType>

</xs:schema>
