<?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:vms="http://levelC/schema/3/vms" version="3.7" targetNamespace="http://levelC/schema/3/vms"
  xmlns:com="http://levelC/schema/3/common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://levelC/schema/3/common" schemaLocation="LevelC_3_Common.xsd" />
  <xs:complexType name="_GddServiceCategoryEnum">
    <xs:simpleContent>
      <xs:extension base="vms:GddServiceCategoryEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TextDisplayLineIndexTextLine">
    <xs:sequence>
      <xs:element name="textLine" type="vms:TextLine" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="lineIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsControllerStatusVmsIndexVmsStatus">
    <xs:sequence>
      <xs:element name="vmsStatus" type="vms:VmsStatus" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="vmsIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsControllerTableVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="vms:VmsControllerTable" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_VmsControllerVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="vms:VmsController" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="_VmsFaultEnum">
    <xs:simpleContent>
      <xs:extension base="vms:VmsFaultEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_VmsMessageDisplayAreaIndexDisplayAreaSettings">
    <xs:sequence>
      <xs:element name="displayAreaSettings" type="vms:DisplayAreaSettings" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="displayAreaIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsStatusMessageIndexVmsMessage">
    <xs:sequence>
      <xs:element name="vmsMessage" type="vms:VmsMessage" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="messageIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="DisplayAreaSettings" abstract="true">
    <xs:sequence>
      <xs:element name="_displayAreaSettingsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GddPictogramAttributes">
    <xs:sequence>
      <xs:element name="attributes" type="com:Base64Binary" minOccurs="1" maxOccurs="1" />
      <xs:element name="_gddPictogramAttributesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="GddPictogramCategoryCode">
    <xs:restriction base="xs:positiveInteger" />
  </xs:simpleType>
  <xs:complexType name="GddPictogramIdentification">
    <xs:sequence>
      <xs:element name="country" type="com:CountryCode" minOccurs="1" maxOccurs="1" />
      <xs:element name="serviceCategory" type="vms:_GddServiceCategoryEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="pictogramCategoryCode" type="vms:GddPictogramCategoryCode" minOccurs="1" maxOccurs="1" />
      <xs:element name="_gddPictogramIdentificationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="GddServiceCategoryEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="dangerWarning" />
      <xs:enumeration value="regulatory" />
      <xs:enumeration value="informative" />
      <xs:enumeration value="publicFacilities" />
      <xs:enumeration value="ambientConditions" />
      <xs:enumeration value="roadConditions" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GddStructure">
    <xs:sequence>
      <xs:element name="gddPictogramIdentification" type="vms:GddPictogramIdentification" />
      <xs:element name="gddPictogramAttributes" type="vms:GddPictogramAttributes" minOccurs="0" />
      <xs:element name="_gddStructureExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Pictogram" abstract="true">
    <xs:sequence>
      <xs:element name="customPictogramCode" type="com:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramFlashing" type="com:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="_pictogramExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PictogramDisplay">
    <xs:complexContent>
      <xs:extension base="vms:DisplayAreaSettings">
        <xs:sequence>
          <xs:element name="pictogramDisplayUrl" type="com:Url" minOccurs="0" maxOccurs="1" />
          <xs:element name="pictogram" type="vms:Pictogram" />
          <xs:element name="_pictogramDisplayExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RegularPictogram">
    <xs:complexContent>
      <xs:extension base="vms:Pictogram">
        <xs:sequence>
          <xs:element name="_regularPictogramExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TextDisplay">
    <xs:complexContent>
      <xs:extension base="vms:DisplayAreaSettings">
        <xs:sequence>
          <xs:element name="textLine" type="vms:_TextDisplayLineIndexTextLine" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_textDisplayExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TextLine">
    <xs:sequence>
      <xs:element name="textLine" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="lineFlashing" type="com:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="_textLineExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsControllerStatus">
    <xs:sequence>
      <xs:element name="vmsControllerTableReference" type="vms:_VmsControllerTableVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="vmsControllerReference" type="vms:_VmsControllerVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="vmsStatus" type="vms:_VmsControllerStatusVmsIndexVmsStatus" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_vmsControllerStatusExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsFault">
    <xs:complexContent>
      <xs:extension base="com:Fault">
        <xs:sequence>
          <xs:element name="vmsFault" type="vms:_VmsFaultEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="_vmsFaultExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VmsFaultEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="outOfService" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VmsMessage">
    <xs:sequence>
      <xs:element name="timeLastSet" type="com:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="displayAreaSettings" type="vms:_VmsMessageDisplayAreaIndexDisplayAreaSettings" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_vmsMessageExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsPublication">
    <xs:complexContent>
      <xs:extension base="com:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="com:HeaderInformation" />
          <xs:element name="vmsControllerStatus" type="vms:VmsControllerStatus" maxOccurs="unbounded" />
          <xs:element name="_vmsPublicationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VmsStatus">
    <xs:sequence>
      <xs:element name="vmsMessage" type="vms:_VmsStatusMessageIndexVmsMessage" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsFault" type="vms:VmsFault" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_vmsStatusExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>