<?xml version="1.0" encoding="UTF-8"?>
<!-- Output of XML portions of the registry data into file: AZTECH-Local-01-00-09.xsd -->
<!-- Run on Mini-Edit [Version 2.1.441] -->
<!-- From node C:136-5448-3969 Created on 11/21/2006 at 3:36:43 PM  -->
<!-- Source DB File: AzTech_01-00-09.ITS rendered into namespace: AZTECH-Local  -->
<!-- Edit namespaces to reflect the schema releases you will be using. -->
<!-- Place at: www.YourSite.xxx/ITSschemas/AZTECH-01-00-09/aztech-local-01-00-09.xsd  -->
<!-- Local copy saved to: C:/Documents and Settings/DavidK/My Documents/code/MiniEdit/ITSschemas/AZTECH-01-00-09/aztech-local-01-00-09.xsd -->
<!-- Production releases of ITS schemas can be found at: http://www.ITSware.net/XML/readme.htm -->
 
 
<!--  --> 
<xs:schema targetNamespace="http://www.AZTECH-Local-Draft-01-00-09" 
   xmlns="http://www.AZTECH-Local-Draft-01-00-09" 
   xmlns:xs="http://www.w3.org/2001/XMLSchema" 
   

   elementFormDefault="unqualified" 
   attributeFormDefault="unqualified" 
   version="DRAFT">
<!-- add for each space you define: xmlns:$NAME$="http://www.$NAME$-$RELEASE_TYPE$-$REVISION_STRING$ -->
 


 
<xs:annotation>
   <xs:documentation>
      Exported on: 03:36:43 PM Tuesday, November 21, 2006 From file: AzTech_01-00-09.ITS [By: Mini-Edit Rev 2.1.441] 
   </xs:documentation>
</xs:annotation>
 

 
<!-- Descriptive Name: AuthorizationSet -->
<xs:complexType name="AuthorizationSet" >
      <xs:sequence>
         <xs:element name="user-id" type="Security-user-name" />
         <!-- #3108 -->
         <xs:element name="password" type="Security-password" />
         <!-- #3109 -->
         <xs:element name="hashtime" type="DateTimePair" />
         <!-- XML style date and time -->
         <xs:element name="hash" >
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="10"/>
                  <xs:maxLength value="20"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- the securty hash determined by
         the x.509 cert in base-64 form -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: BroadcastAlerts -->
<xs:complexType name="BroadcastAlerts" >
      <xs:sequence minOccurs="1" maxOccurs="2">
         <xs:element name="broadcastAlert" type="BroadcastAlertsItem" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: BroadcastAlertsItem -->
<xs:simpleType name="BroadcastAlertsItem" >
      <xs:annotation>
         <xs:appinfo>
            reserved (0)
            broadcastAlertsAccepted (1)
            broadcastAlertsNotAccepted (2)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="2"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="reserved"/>
               <xs:enumeration value="broadcastAlertsAccepted"/>
               <xs:enumeration value="broadcastAlertsNotAccepted"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: C2C-Message-Publication -->
<xs:complexType name="C2cMessagePublication" >
      <xs:sequence>
         <xs:element name="informationalText" type="InformationalText"  minOccurs="0"/>
         <xs:element name="subscriptionID" type="SubscriptionID" />
         <xs:element name="subscriptionName" type="SubscriptionName"  minOccurs="0"/>
         <xs:element name="subscriptionFreq" type="SubscriptionFrequency"  minOccurs="0"/>
         <xs:element name="subscriptionCount" type="SubscriptionCount"  minOccurs="0"/>
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: C2C_MessageReceipt -->
<xs:complexType name="C2cMessageReceipt" >
      <xs:sequence>
         <xs:element name="informationalText" type="InformationalText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: C2C-Message-Subscription -->
<xs:complexType name="C2cMessageSubscription" >
      <xs:sequence>
         <xs:element name="informationalText" type="InformationalText"  minOccurs="0"/>
         <xs:element name="returnAddress" type="ReturnAddress" />
         <xs:element name="subscriptionAction" type="SubscriptionAction" />
         <xs:element name="subscriptionType" type="SubscriptionType" />
         <xs:element name="subscriptionID" type="SubscriptionID" />
         <xs:element name="subscriptionName" type="SubscriptionName"  minOccurs="0"/>
         <xs:element name="subscriptionTimeFrame" type="SubscriptionTimeFrame"  minOccurs="0"/>
         <xs:element name="subscriptionFrequency" type="SubscriptionFrequency" />
         <xs:element name="broadcastAlerts" type="BroadcastAlerts"  minOccurs="0"/>
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: CancelSubscriptionRequest-AZTech -->
<xs:element name="cancelSubscriptionRequest-AZTech" type="CancelSubscriptionRequest-AZTech"/>
<xs:complexType name="CancelSubscriptionRequest-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- #3108 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: ContactDetails -->
<xs:complexType name="ContactDetails" >
      <xs:sequence>
         <xs:element name="contact-id" type="Contact-identifier" />
         <!-- 3105 -->
         <xs:element name="person-name" type="Contact-person-name"  minOccurs="0"/>
         <!-- 3206 -->
         <xs:element name="person-title" type="Contact-person-title"  minOccurs="0"/>
         <!-- 3349
         organization-id     Organization-identifier  OPTIONAL ,          -#-3343
         organization-name   Organization-name  OPTIONAL ,                -#-3344 -->
         <xs:element name="phone-number" type="Contact-phone-number"  minOccurs="0"/>
         <!-- 3207 -->
         <xs:element name="phone-alternate" type="Contact-phone-alternate"  minOccurs="0"/>
         <!-- 3113
         mobile-number       Contact-mobile-phone-number  OPTIONAL ,      -#-3350
         fax-number          Contact-phone-fax  OPTIONAL ,                -#-3205
         pager-id            Contact-pager-identifier  OPTIONAL ,         -#-3346
         pager-number        Contact-pager-number  OPTIONAL ,             -#-3347 -->
         <xs:element name="email-address" type="Contact-email-address"  minOccurs="0"/>
         <!-- 3204
         radio-unit          Contact-radio-unit-identifier  OPTIONAL ,    -#-3208
         address-line1       Contact-mailing-address-line1  OPTIONAL ,    -#-3339
         address-line2       Contact-mailing-address-line2  OPTIONAL ,    -#-3340
         city                Contact-mailing-address-city  OPTIONAL ,     -#-3338
         state               Contact-mailing-address-state  OPTIONAL ,    -#-3341
         zip-code            Contact-mailing-address-zip  OPTIONAL ,      -#-3342
         country             Contact-mailing-address-country  OPTIONAL   -#-3373 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: CONTACT_EmailAddress_text -->
<xs:simpleType name="Contact-email-address" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 128
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: CONTACT_Identifier_identifier -->
<xs:simpleType name="Contact-identifier" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: CONTACT_PersonName_text -->
<xs:simpleType name="Contact-person-name" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 64
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="64"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: CONTACT_PersonTitle_text -->
<xs:simpleType name="Contact-person-title" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 64
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="64"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: CONTACT_PhoneAlternate_text -->
<xs:simpleType name="Contact-phone-alternate" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: CONTACT_PhoneNumber_text -->
<xs:simpleType name="Contact-phone-number" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 32.  The &amp;apos;-&amp;apos; and &amp;apos;.&amp;apos; characters shall be valid delimiters.
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: Controller-log-entry -->
<xs:complexType name="Controller-log-entry" >
      <xs:sequence>
         <xs:element name="time" type="DateTimePair" />
         <xs:element name="text" type="FreeText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: EXT_ATIS_Date -->
<xs:simpleType name="Date">
   <xs:restriction base="xs:date"/>
</xs:simpleType>
 
<!-- Descriptive Name: DateTimePair -->
<xs:simpleType name="DateTimePair">
   <xs:restriction base="xs:dateTime"/>
</xs:simpleType>
<!-- Native XML formats are used for date and time -->
 
<!-- Descriptive Name: DetectionLane -->
<xs:complexType name="DetectionLane" >
      <xs:sequence>
         <xs:element name="approach-name" type="Detector-intersection-approach-name"  minOccurs="0"/>
         <!-- 3505 -->
         <xs:element name="lane-number" type="Detector-lane-number"  minOccurs="0"/>
         <!-- 3506
         Added by AZTech -->
         <xs:element name="laneData" type="LaneData" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DetectorDetails -->
<xs:complexType name="DetectorDetails" >
      <xs:sequence>
         <xs:element name="detector-id" type="Detector-identifier" />
         <!-- 3504
         detector-name              Detector-name  OPTIONAL ,  -#-3520
         detector-location          LRMS.GeoLocation  OPTIONAL ,
         simple lat-long added here -->
         <xs:element name="device-latitude" type="Latitude"  minOccurs="0"/>
         <xs:element name="device-longitude" type="Longitude"  minOccurs="0"/>
         <!-- route-designator           Link-route-designator  OPTIONAL ,  -#-3030
         linear-reference           Link-location-linear-reference  OPTIONAL ,  -#-3855
         linear-reference-version   Link-location-linear-reference-version  OPTIONAL ,  -#-3854
         detector-link-id           Detector-link-identifier  OPTIONAL ,  -#-3507 -->
         <xs:element name="link-direction" type="Link-direction"  minOccurs="0"/>
         <!-- 3008 -->
         <xs:element name="detector-type" type="Detector-type"  minOccurs="0"/>
         <!-- 3514 -->
         <xs:element name="detection-lanes" >
            <xs:complexType>
               <xs:sequence minOccurs="1" maxOccurs="64">
                  <xs:element name="detection-lane" type="DetectionLane" />
                  <!-- note &quot;s&quot; added to above name last-update-time           DateTimeZone  OPTIONAL Added by AZTech -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="setback" type="Distance"  minOccurs="0"/>
         <!-- setback form stop bar -->
         <xs:element name="reportingRate" type="TimeInterval" />
         <!-- units of seconds -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DETECTOR_Identifier_identifier -->
<xs:simpleType name="Detector-identifier" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: DETECTOR_IntersectionApproachName_text -->
<xs:simpleType name="Detector-intersection-approach-name" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 128
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: DETECTOR_LaneNumber_code -->
<xs:simpleType name="Detector-lane-number" >
      <xs:annotation>
         <xs:documentation>       
            Select one bit per lane.  Lanes are numbered from the median out beginning with 1.
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="binary">
         <xs:minLength value="1"/>
         <xs:maxLength value="255"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: DETECTOR_Occupancy_percent -->
<xs:simpleType name="Detector-occupancy" >
      <xs:annotation>
         <xs:documentation>       
            percent
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="100"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: DETECTOR_Type_code -->
<xs:simpleType name="Detector-type" >
      <xs:annotation>
         <xs:appinfo>
            inductive loop (1)
            magnetic (2)
            magnetometers (3)
            pressure cells (4)
            microwave radar (5)
            ultrasonic (6)
            video Image (7)
            laser (8)
            infrared (9)
            road tube (10)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="1"/>
               <xs:maxInclusive value="10"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="inductive loop"/>
               <xs:enumeration value="magnetic"/>
               <xs:enumeration value="magnetometers"/>
               <xs:enumeration value="pressure cells"/>
               <xs:enumeration value="microwave radar"/>
               <xs:enumeration value="ultrasonic"/>
               <xs:enumeration value="video Image"/>
               <xs:enumeration value="laser"/>
               <xs:enumeration value="infrared"/>
               <xs:enumeration value="road tube"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: DETECTOR_VehicleSpeed_rate -->
<xs:complexType name="Detector-vehicle-speed" >
      <xs:choice>
         <xs:element name="kph" >
            <xs:simpleType>
               <xs:restriction base="xs:unsignedByte"/>
            </xs:simpleType>
         </xs:element>
         <!-- kilometers per hour -->
         <xs:element name="mph" >
            <xs:simpleType>
               <xs:restriction base="xs:unsignedByte"/>
            </xs:simpleType>
         </xs:element>
         <!-- miles per hour -->
      </xs:choice>
</xs:complexType>
 
<!-- Descriptive Name: DEVICE_AcknowledgeControl_code -->
<xs:simpleType name="Device-acknowledge-control" >
      <xs:annotation>
         <xs:appinfo>
            control acknowledged (0)
            device available (1)
            requested changes completed (2)
            control rejected (3)
            device in use (4)
            device off line (5)
            request cancelled (6)
            request rejected invalid command parameters (7)
            request rejected insufficient privileges of the requesting operator (8)
            request queued (9)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="9"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="control acknowledged"/>
               <xs:enumeration value="device available"/>
               <xs:enumeration value="requested changes completed"/>
               <xs:enumeration value="control rejected"/>
               <xs:enumeration value="device in use"/>
               <xs:enumeration value="device off line"/>
               <xs:enumeration value="request cancelled"/>
               <xs:enumeration value="request rejected invalid command parameters"/>
               <xs:enumeration value="request rejected insufficient privileges of the requesting operator"/>
               <xs:enumeration value="request queued"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: DeviceArchiveStatusSubscription-AZTech -->
<xs:element name="deviceArchiveStatusSubscription-AZTech" type="DeviceArchiveStatusSubscription-AZTech"/>
<xs:complexType name="DeviceArchiveStatusSubscription-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- #3108 -->
         <xs:element name="command-start-time" type="DateTimePair" />
         <xs:element name="command-end-time" type="DateTimePair" />
         <!-- note that XML time is used
         Items below added by Azdot to meet local needs -->
         <xs:element name="archive-frequency" type="TimeInterval" />
         <xs:element name="request-send-time" type="Time" />
         <xs:element name="request-send-date" type="Date" />
         <!-- consider combing to make
         one time element here -->
         <xs:element name="filters" type="Filters" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DeviceCancelControlRequest-AZTech -->
<xs:element name="deviceCancelControlRequest-AZTech" type="DeviceCancelControlRequest-AZTech"/>
<xs:complexType name="DeviceCancelControlRequest-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="device-type" type="Device-type" />
         <!-- #3747 -->
         <xs:element name="device-id" type="Device-identifier" />
         <!-- #3701 -->
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- #3717
         Items below added by Azdot to meet local needs -->
         <xs:element name="freeText" type="FreeText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DEVICE_CommandEndTime_utc -->
<xs:simpleType name="Device-command-end-time" >
      <xs:annotation>
         <xs:documentation>       
            represented as HHMMSS where HH is the hour of the day in 24-hour clock form  (with legal values between 00 and 23) ; &amp;quot;MM&amp;quot; is the minute of hour  (with legal values from 00 to 59) ; &amp;quot;SS&amp;quot; is the second of the minute  (with legal values from 00 to 59) .
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:int"/>
</xs:simpleType>
 
<!-- Descriptive Name: DEVICE_CommandRequestPriority_number -->
<xs:simpleType name="Device-command-request-priority" >
      <xs:annotation>
         <xs:documentation>       
            Select from 1 to 10 where 1 is the highest and 10 is the lowest priority
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:unsignedByte">
         <xs:minInclusive value="1"/>
         <xs:maxInclusive value="10"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: DeviceControlSubscriptionResponse-AZTech -->
<xs:element name="deviceControlSubscriptionResponse-AZTech" type="DeviceControlSubscriptionResponse-AZTech"/>
<xs:complexType name="DeviceControlSubscriptionResponse-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationLong" />
         <xs:element name="organization-requesting" type="OrganizationInformationShort" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- #3717 -->
         <xs:element name="device-id" type="Device-identifier" />
         <!-- #3701 -->
         <xs:element name="request-status" type="Device-acknowledge-control" />
         <!-- Below in std but not used
         center-id              Organization-center-identifier,  -#-3217
         operator-id            Device-organization-operator-identifier,  -#-3706
         request-response       Device-acknowledge-control,  -#-3763
         operator-last-revised  Event-update-operator-last-revised  OPTIONAL ,  -#-3295
         response-plan-id       Event-response-plan-identifier  OPTIONAL  -#-3269
         Items below added by Azdot to meet local needs -->
         <xs:element name="freeText" type="FreeText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DEVICE_Identifier_identifier -->
<xs:simpleType name="Device-identifier" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: DeviceInventoryRequest-AZTech -->
<xs:element name="deviceInventoryRequest-AZTech" type="DeviceInventoryRequest-AZTech"/>
<xs:complexType name="DeviceInventoryRequest-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="device-type" type="Device-type" />
         <!-- 3747
         does having Device-type here limit us to requesting
         only one type of device in the next line?? -->
         <xs:element name="device-list" >
            <xs:complexType>
               <xs:sequence minOccurs="1" maxOccurs="100000">
                  <xs:element name="device" type="Device-identifier" />
                  <!-- 3701 an id = 0 means request all Items below added by Azdot to meet local needs -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- 3717 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DeviceInventorySubscription-AZTech -->
<xs:element name="deviceInventorySubscription-AZTech" type="DeviceInventorySubscription-AZTech"/>
<xs:complexType name="DeviceInventorySubscription-AZTech" >
      <xs:sequence>
         <xs:element name="c2cMessageSubscription" type="C2cMessageSubscription" />
         <xs:element name="deviceInventoryRequest" type="DeviceInventoryRequest-AZTech" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DEVICE_OperationalStatus_code -->
<xs:simpleType name="Device-operational-status" >
      <xs:annotation>
         <xs:appinfo>
            on (1)
            off (2)
            in service (3)
            out of service (4)
            unavailable (5)
            unknown (6)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="1"/>
               <xs:maxInclusive value="6"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="on"/>
               <xs:enumeration value="off"/>
               <xs:enumeration value="in service"/>
               <xs:enumeration value="out of service"/>
               <xs:enumeration value="unavailable"/>
               <xs:enumeration value="unknown"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: DEVICE_RequestIdentifier_identifier -->
<xs:simpleType name="Device-request-identifier" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: DeviceStatusRequest-AZTech -->
<xs:element name="deviceStatusRequest-AZTech" type="DeviceStatusRequest-AZTech"/>
<xs:complexType name="DeviceStatusRequest-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <!-- same question for device type here as before -->
         <xs:element name="device-type" type="Device-type" />
         <!-- 3747 -->
         <xs:element name="device-list" >
            <xs:complexType>
               <xs:sequence minOccurs="1" maxOccurs="100000">
                  <xs:element name="device" type="Device-identifier" />
                  <!-- 3701 an id = 0 means request all Items below added by Azdot to meet local needs -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- 3717 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DeviceStatusSubscription-AZTech -->
<xs:element name="deviceStatusSubscription-AZTech" type="DeviceStatusSubscription-AZTech"/>
<xs:complexType name="DeviceStatusSubscription-AZTech" >
      <xs:sequence>
         <xs:element name="c2cMessageSubscription" type="C2cMessageSubscription" />
         <xs:element name="deviceStatusRequest" type="DeviceStatusRequest-AZTech" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DEVICE_Type_code -->
<xs:simpleType name="Device-type" >
      <xs:annotation>
         <xs:appinfo>
            detector (1)
            cctv camera (2)
            dynamic message sign (3)
            environmental sensor station (4)
            gate (5)
            highway advisory radio (6)
            lane control signal (7)
            ramp meter (8)
            signal controller (9)
            signal section (10)
            timing plan (11)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="1"/>
               <xs:maxInclusive value="11"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="detector"/>
               <xs:enumeration value="cctv camera"/>
               <xs:enumeration value="dynamic message sign"/>
               <xs:enumeration value="environmental sensor station"/>
               <xs:enumeration value="gate"/>
               <xs:enumeration value="highway advisory radio"/>
               <xs:enumeration value="lane control signal"/>
               <xs:enumeration value="ramp meter"/>
               <xs:enumeration value="signal controller"/>
               <xs:enumeration value="signal section"/>
               <xs:enumeration value="timing plan"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_LRMS_Distance -->
<xs:complexType name="Distance" >
      <xs:choice>
         <xs:element name="m" >
            <xs:simpleType>   
               <xs:restriction base="xs:int">
                  <xs:minInclusive value="-10000000"/>
                  <xs:maxInclusive value="10000000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="mDec" >
            <xs:simpleType>
            <xs:restriction base="xs:float">
               <xs:minInclusive value="-10000000"/>
               <xs:maxInclusive value="10000000"/>
            </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- Warning, above may need hand editing -->   
         <!-- observe that min-max restrictions have -->
         <!-- not been added to this template yet -->
         <xs:element name="mm" >
            <xs:simpleType>   
               <xs:restriction base="xs:int">
                  <xs:minInclusive value="-1000000"/>
                  <xs:maxInclusive value="1000000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="mmDec" >
            <xs:simpleType>
            <xs:restriction base="xs:float">
               <xs:minInclusive value="-1000000"/>
               <xs:maxInclusive value="1000000"/>
            </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- Warning, above may need hand editing -->   
         <!-- observe that min-max restrictions have -->
         <!-- not been added to this template yet -->
         <xs:element name="dm" >
            <xs:simpleType>   
               <xs:restriction base="xs:int">
                  <xs:minInclusive value="-1000000"/>
                  <xs:maxInclusive value="1000000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="dmDec" >
            <xs:simpleType>
            <xs:restriction base="xs:float">
               <xs:minInclusive value="-1000000"/>
               <xs:maxInclusive value="1000000"/>
            </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- Warning, above may need hand editing -->   
         <!-- observe that min-max restrictions have -->
         <!-- not been added to this template yet -->
         <xs:element name="yd" >
            <xs:simpleType>   
               <xs:restriction base="xs:int">
                  <xs:minInclusive value="-17600000"/>
                  <xs:maxInclusive value="17600000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="ydDec" >
            <xs:simpleType>
            <xs:restriction base="xs:float">
               <xs:minInclusive value="-17600000"/>
               <xs:maxInclusive value="17600000"/>
            </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- Warning, above may need hand editing -->   
         <!-- observe that min-max restrictions have -->
         <!-- not been added to this template yet -->
         <xs:element name="ft" >
            <xs:simpleType>   
               <xs:restriction base="xs:int">
                  <xs:minInclusive value="-52800000"/>
                  <xs:maxInclusive value="52800000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="ftDec" >
            <xs:simpleType>
            <xs:restriction base="xs:float">
               <xs:minInclusive value="-52800000"/>
               <xs:maxInclusive value="52800000"/>
            </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- Warning, above may need hand editing -->   
         <!-- observe that min-max restrictions have -->
         <!-- not been added to this template yet -->
         <xs:element name="in" >
            <xs:simpleType>   
               <xs:restriction base="xs:int">
                  <xs:minInclusive value="-1000000"/>
                  <xs:maxInclusive value="1000000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="inDec" >
            <xs:simpleType>
            <xs:restriction base="xs:float">
               <xs:minInclusive value="-1000000"/>
               <xs:maxInclusive value="1000000"/>
            </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- Warning, above may need hand editing -->   
         <!-- observe that min-max restrictions have -->
         <!-- not been added to this template yet -->
         <xs:element name="mi" >
            <xs:simpleType>
               <xs:restriction base="xs:short">
                  <xs:minInclusive value="-10000"/>
                  <xs:maxInclusive value="10000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="miDec" >
            <xs:simpleType>
            <xs:restriction base="xs:float">
               <xs:minInclusive value="-10000"/>
               <xs:maxInclusive value="10000"/>
            </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- Warning, above may need hand editing -->   
         <!-- observe that min-max restrictions have -->
         <!-- not been added to this template yet -->
         <xs:element name="km" >
            <xs:simpleType>
               <xs:restriction base="xs:short">
                  <xs:minInclusive value="-10000"/>
                  <xs:maxInclusive value="10000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="kmDec" >
            <xs:simpleType>
            <xs:restriction base="xs:float">
               <xs:minInclusive value="-10000"/>
               <xs:maxInclusive value="10000"/>
            </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- Warning, above may need hand editing -->   
         <!-- observe that min-max restrictions have -->
         <!-- not been added to this template yet -->
      </xs:choice>
</xs:complexType>
 
<!-- Descriptive Name: DMSControlRequest-AZTech -->
<xs:element name="dMSControlRequest-AZTech" type="DMSControlRequest-AZTech"/>
<xs:complexType name="DMSControlRequest-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="device-id" type="Device-identifier" />
         <!-- 3701 -->
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- 3717 -->
         <xs:element name="dms-beacon-control" type="DmsMessageMultiString" />
         <!-- 3900 -->
         <xs:element name="dms-message" type="DmsMessageMultiString" />
         <!-- 3901 -->
         <xs:element name="message-number" type="DmsMessageNumber" />
         <!-- 3902 -->
         <xs:element name="command-request-priority" type="Device-command-request-priority" />
         <!-- 3711 -->
         <xs:element name="command-start-time" type="DateTimePair" />
         <xs:element name="command-end-time" type="DateTimePair" />
         <!-- Items below added by Azdot to meet local needs -->
         <xs:element name="freeText" type="FreeText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DMSDeviceStatus -->
<xs:element name="dMSDeviceStatus" type="DMSDeviceStatus"/>
<xs:complexType name="DMSDeviceStatus" >
      <xs:sequence>
         <!-- organization-information OrganizationInformation,
         Confirm above is never in fact used or needed
         operator-id              Organization-center-operator-identifier,  -#-3112 -->
         <xs:element name="device-id" type="Device-identifier" />
         <!-- 3701 -->
         <xs:element name="dms-device-status" type="Device-operational-status" />
         <!-- 3716 -->
         <xs:element name="dms-current-message" type="DmsMessageMultiString" />
         <!-- 3901 -->
         <xs:element name="message-time-remaining" type="DmsMessageTimeRemaining"  minOccurs="0"/>
         <!-- 3904
         message-source-mode      NTCIP.DmsMsgSourceMode  OPTIONAL ,  -#-3905
         associated-event-id      Event-response-plan-identifier  OPTIONAL ,  -#-3269 -->
         <xs:element name="last-comm-time" type="DateTimePair" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DMSInventoryPublication-AZTech -->
<xs:element name="dMSInventoryPublication-AZTech" type="DMSInventoryPublication-AZTech"/>
<xs:complexType name="DMSInventoryPublication-AZTech" >
      <xs:sequence>
         <xs:element name="c2cMessagePublication" type="C2cMessagePublication" />
         <xs:element name="dMSInventory" type="DMSInventoryResponse-AZTech" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DMSInventoryResponse-AZTech -->
<xs:element name="dMSInventoryResponse-AZTech" type="DMSInventoryResponse-AZTech"/>
<xs:complexType name="DMSInventoryResponse-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationLong" />
         <xs:element name="organization-requesting" type="OrganizationInformationShort" />
         <xs:element name="devices" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="10000">
                  <xs:element name="device" type="DMSDeviceStatus" />
                  <!-- note AzDot additions here Items below added by Azdot to meet local needs -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- 3717 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: EXT_DmsMessageBeacon -->
<xs:simpleType name="DmsMessageBeacon" >
      <xs:annotation>
         <xs:appinfo>
            beacons are disabled (0)
            beacons are enabled (1)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="1"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="beacons are disabled"/>
               <xs:enumeration value="beacons are enabled"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_DmsMessageMultiString -->
<xs:complexType name="DmsMessageMultiString" >
   <xs:simpleContent>
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 256
         </xs:documentation>
      </xs:annotation>
      <xs:extension base="DmsMessageMultiString-string" >
         <xs:attribute name="EncodingType" use="required">
           <xs:simpleType>
              <xs:restriction base="xs:NMTOKEN">
                 <xs:enumeration value="base64Binary"/>
              </xs:restriction>
           </xs:simpleType>
         </xs:attribute>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>
<xs:simpleType name="DmsMessageMultiString-string">
   <xs:restriction base="xs:base64Binary">
      <xs:minLength value="2"/>
      <xs:maxLength value="342"/>
   </xs:restriction>
</xs:simpleType >
 
<!-- Descriptive Name: EXT_DmsMessageNumber -->
<xs:simpleType name="DmsMessageNumber" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_DmsMessageTimeRemaining -->
<xs:simpleType name="DmsMessageTimeRemaining" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_DmsSignTechnology -->
<xs:simpleType name="DmsSignTechnology-item" >
      <xs:annotation>
         <xs:appinfo>
            other (0)
            led (1)
            flip disk (2)
            fiber optics (3)
            shuttered (4)
            bulb (5)
            drum (6)
            spare7 (7) -- Adding to make a full byte
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:int">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="7"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="other"/>
               <xs:enumeration value="led"/>
               <xs:enumeration value="flip disk"/>
               <xs:enumeration value="fiber optics"/>
               <xs:enumeration value="shuttered"/>
               <xs:enumeration value="bulb"/>
               <xs:enumeration value="drum"/>
               <xs:enumeration value="spare7"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
<xs:simpleType name="DmsSignTechnology">
   <xs:list itemType="DmsSignTechnology-item"/>
</xs:simpleType>
 
<!-- Descriptive Name: DMSStatusPublication-AZTech -->
<xs:element name="dMSStatusPublication-AZTech" type="DMSStatusPublication-AZTech"/>
<xs:complexType name="DMSStatusPublication-AZTech" >
      <xs:sequence>
         <xs:element name="c2cMessagePublication" type="C2cMessagePublication" />
         <xs:element name="dMSStatus" type="DMSStatusResponse-AZTech" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: DMSStatusResponse-AZTech -->
<xs:element name="dMSStatusResponse-AZTech" type="DMSStatusResponse-AZTech"/>
<xs:complexType name="DMSStatusResponse-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="devices" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="10000">
                  <xs:element name="device" type="DMSDeviceStatus" />
                  <!-- using: TMDD.DMSDeviceStatus note AzDot additions here Items below added by Azdot to meet local needs -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- 3717 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: EXT_EssAirTemperature -->
<xs:simpleType name="EssAirTemperature" >
      <xs:restriction base="xs:short">
         <xs:minInclusive value="-1000"/>
         <xs:maxInclusive value="1001"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_EssAvgWindDirection -->
<xs:simpleType name="EssAvgWindDirection" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="361"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_EssAvgWindSpeed -->
<xs:simpleType name="EssAvgWindSpeed" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_EssPrecipYesNo -->
<xs:simpleType name="EssPrecipYesNo" >
      <xs:annotation>
         <xs:appinfo>
            precip (1)
            no precip (2)
            error (3)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="1"/>
               <xs:maxInclusive value="3"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="precip"/>
               <xs:enumeration value="no precip"/>
               <xs:enumeration value="error"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_EssSolarRadiation -->
<xs:simpleType name="EssSolarRadiation" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>
 
<!-- Descriptive Name: ESSStatus -->
<xs:element name="eSSStatus" type="ESSStatus"/>
<xs:complexType name="ESSStatus" >
      <xs:sequence>
         <xs:element name="center-id" type="Organization-center-identifier"  minOccurs="0"/>
         <!-- 3217
         operator-id            Device-organization-operator-identifier,  -#-3706 -->
         <xs:element name="device-id" type="Device-identifier" />
         <!-- 3701 -->
         <xs:element name="device-status" type="Device-operational-status" />
         <!-- 3716
         device-name            Device-name  OPTIONAL ,  -#-3709 -->
         <xs:element name="avg-wind-direction" type="EssAvgWindDirection" />
         <!-- 3910 -->
         <xs:element name="avg-wind-speed" type="EssAvgWindSpeed"  minOccurs="0"/>
         <!-- 3911 -->
         <xs:element name="wind-situation" type="EssWindSituation"  minOccurs="0"/>
         <!-- 3935 -->
         <xs:element name="air-temperature" type="EssAirTemperature"  minOccurs="0"/>
         <!-- 3908 -->
         <xs:element name="precip-yes-no" type="EssPrecipYesNo"  minOccurs="0"/>
         <!-- 3921 -->
         <xs:element name="solar-radiation" type="EssSolarRadiation"  minOccurs="0"/>
         <!-- 3926 -->
         <xs:element name="visibility" type="EssVisibility"  minOccurs="0"/>
         <!-- 3932
         visibility-situation   NTCIP.EssVisibilitySituation  OPTIONAL ,  -#-3933
         surface-status         NTCIP.EssSurfaceStatus  OPTIONAL , -#-3929
         pave-treat-type        NTCIP.EssPaveTreatProductType  OPTIONAL  -#-3918 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: ESSStatusResponse-AZTech -->
<xs:element name="eSSStatusResponse-AZTech" type="ESSStatusResponse-AZTech"/>
<xs:complexType name="ESSStatusResponse-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="devices" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="10000">
                  <xs:element name="device" type="ESSStatus" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <!-- Items below added by Azdot to meet local needs -->
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- 3717 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: EXT_EssVisibility -->
<xs:simpleType name="EssVisibility" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="1000001"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_EssWindSituation -->
<xs:simpleType name="EssWindSituation" >
      <xs:annotation>
         <xs:appinfo>
            other (1)
            unknown (2)
            calm (3)
            light breeze (4)
            moderate breeze (5)
            strong breeze (6)
            gale (7)
            moderate gale (8)
            strong gale (9)
            storm winds (10)
            hurricane force winds (11)
            gusty winds (12)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="1"/>
               <xs:maxInclusive value="12"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="other"/>
               <xs:enumeration value="unknown"/>
               <xs:enumeration value="calm"/>
               <xs:enumeration value="light breeze"/>
               <xs:enumeration value="moderate breeze"/>
               <xs:enumeration value="strong breeze"/>
               <xs:enumeration value="gale"/>
               <xs:enumeration value="moderate gale"/>
               <xs:enumeration value="strong gale"/>
               <xs:enumeration value="storm winds"/>
               <xs:enumeration value="hurricane force winds"/>
               <xs:enumeration value="gusty winds"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: Filters -->
<xs:complexType name="Filters" >
      <xs:sequence>
         <xs:element name="dms-status-information" >
            <xs:simpleType>  
               <xs:restriction base="xs:boolean"/> 
            </xs:simpleType>  
         </xs:element>
         <!-- subscription to DMS status information
         included true/false  (yes/no) -->
         <xs:element name="ess-status-information" >
            <xs:simpleType>  
               <xs:restriction base="xs:boolean"/> 
            </xs:simpleType>  
         </xs:element>
         <!-- subscription to ESS status information
         included true/false  (yes/no) -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: FreeText -->
<xs:simpleType name="FreeText" >
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="500"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_LRMS_Height -->
<xs:complexType name="Height" >
      <xs:choice>
         <xs:element name="altdatum" >
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="altitude" type="Distance" />
                  <xs:element name="verticalDatum" type="VerticalDatum"  minOccurs="0"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="verticalLevel" type="VerticalLevel" />
      </xs:choice>
</xs:complexType>
 
<!-- Descriptive Name: EXT_LRMS_HorizontalDatum -->
<xs:simpleType name="HorizontalDatum" >
      <xs:annotation>
         <xs:appinfo>
            wgs 84 (0)
            wgs 84egm 96 (1)
            nad83 (2)
            nad27 (3)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="3"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="wgs 84"/>
               <xs:enumeration value="wgs 84egm 96"/>
               <xs:enumeration value="nad83"/>
               <xs:enumeration value="nad27"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: InformationalText -->
<xs:simpleType name="InformationalText" >
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="255"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: IntersectionDevicesSummary -->
<xs:complexType name="IntersectionDevicesSummary" >
      <xs:sequence>
         <!-- Items below added by Azdot to meet local needs
         controls at this Intersection -->
         <xs:element name="signalControlInformation" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="64">
                  <xs:element name="signalControlInformation-item" type="SignalControlInventory" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <!-- plans used at this Intersection -->
         <xs:element name="timing-plans" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="255">
                  <xs:element name="timing-plan" type="TimingPlan" />
                  <!-- detectors -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="detectors" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="64">
                  <xs:element name="detector" type="DetectorDetails" />
                  <!-- use schedules -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="schedule-plans" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="64">
                  <xs:element name="schedule-plan" type="Schedule-entry" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="maxOverlaps" type="MaxOverlaps" />
         <xs:element name="overlaps" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="64">
                  <xs:element name="overlap" type="Overlap" />
                  <!-- Ramp Meters -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="rampMeters" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="64">
                  <xs:element name="rampMeter" type="RampMeterInventory" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="freeText" type="FreeText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: INTERSECTION_Name_text -->
<xs:simpleType name="Intersection-name" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 128
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: IntersectionSummaryStatus -->
<xs:complexType name="IntersectionSummaryStatus" >
      <xs:sequence>
         <!-- information about the primary control device -->
         <xs:element name="primaryDevice" type="SignalControlInventory" />
         <!-- reports local time
         and battery state
         Items below added by Azdot to meet local needs
         Current time plan  (added by DCK,  not in req) -->
         <xs:element name="currentTimingPlan" type="TimingPlan"  minOccurs="0"/>
         <!-- Detector status at this Intersection -->
         <xs:element name="detectors"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="64">
                  <xs:element name="detector" type="DetectorDetails" />
                  <!-- Ramp Meters rates -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="rampMeters"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="64">
                  <xs:element name="rampMeter" type="RampMeterStatus" />
                  <!-- Active special functions of the device -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="specialFuntions"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="8">
                  <xs:element name="specialFuntion" type="Special-function" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="freeText" type="FreeText"  minOccurs="0"/>
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: LaneData -->
<xs:complexType name="LaneData" >
      <xs:sequence>
         <!-- lane-number    Detector-lane-number  OPTIONAL ,           -#-3506
         vehicle-count  Detector-vehicle-count  OPTIONAL ,         -#-3515 -->
         <xs:element name="vehicle-count" type="Volume-data"  minOccurs="0"/>
         <xs:element name="occupancy" type="Detector-occupancy"  minOccurs="0"/>
         <!-- 3521 -->
         <xs:element name="speed" type="Detector-vehicle-speed"  minOccurs="0"/>
         <!-- 3519
         queue-length   Detector-vehicle-queue-length  OPTIONAL   -#-3516 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: EXT_LRMS_Latitude -->
<xs:simpleType name="Latitude" >
      <xs:annotation>
         <xs:documentation>       
            microdegrees
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:int">
         <xs:minInclusive value="-90000000"/>
         <xs:maxInclusive value="90000000"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: LINK_Direction_code -->
<xs:simpleType name="Link-direction" >
      <xs:annotation>
         <xs:appinfo>
            any other (0)
            n (1)
            ne (2)
            e (3)
            se (4)
            s (5)
            sw (6)
            w (7)
            nw (8)
            not directional (9)
            positive direction (10)
            negative direction (11)
            both directions (12)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="12"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="any other"/>
               <xs:enumeration value="n"/>
               <xs:enumeration value="ne"/>
               <xs:enumeration value="e"/>
               <xs:enumeration value="se"/>
               <xs:enumeration value="s"/>
               <xs:enumeration value="sw"/>
               <xs:enumeration value="w"/>
               <xs:enumeration value="nw"/>
               <xs:enumeration value="not directional"/>
               <xs:enumeration value="positive direction"/>
               <xs:enumeration value="negative direction"/>
               <xs:enumeration value="both directions"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: LINK_RouteDesignator_identifier -->
<xs:simpleType name="Link-route-designator" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 64
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="64"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_LRMS_Longitude -->
<xs:simpleType name="Longitude" >
      <xs:annotation>
         <xs:documentation>       
            microdegrees
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:int">
         <xs:minInclusive value="-180000000"/>
         <xs:maxInclusive value="180000000"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: MaxOverlaps -->
<xs:simpleType name="MaxOverlaps" >
      <xs:annotation>
         <xs:documentation>       
            edit to proper ranges
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="100"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: MaxPhases -->
<xs:simpleType name="MaxPhases" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>
 
<!-- Descriptive Name: METER_Status_code -->
<xs:simpleType name="Meter-status" >
      <xs:annotation>
         <xs:appinfo>
            off (0)
            green (1)
            red (2)
            yellow (3)
            flashing (4)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="4"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="off"/>
               <xs:enumeration value="green"/>
               <xs:enumeration value="red"/>
               <xs:enumeration value="yellow"/>
               <xs:enumeration value="flashing"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: ORGANIZATION_CenterIdentifier_identifier -->
<xs:simpleType name="Organization-center-identifier" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: ORGANIZATION_Identifier_identifier -->
<xs:simpleType name="Organization-identifier" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: OrganizationInformationLong -->
<xs:complexType name="OrganizationInformationLong" >
      <xs:sequence>
         <xs:element name="organization-id" type="Organization-identifier" />
         <xs:element name="organization-name" type="Organization-name" />
         <xs:element name="organization-sub-name" type="Organization-sub-organization-name"  minOccurs="0"/>
         <!-- added by DCK,  may not be wanted -->
         <xs:element name="contactDetails" type="ContactDetails" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: OrganizationInformationShort -->
<xs:complexType name="OrganizationInformationShort" >
      <xs:sequence>
         <xs:element name="organization-id" type="Organization-identifier" />
         <xs:element name="organization-name" type="Organization-name" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: ORGANIZATION_Name_text -->
<xs:simpleType name="Organization-name" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 128
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: ORGANIZATION_SubOrganizationName_text -->
<xs:simpleType name="Organization-sub-organization-name" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 128
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: Overlap -->
<xs:complexType name="Overlap" >
      <xs:sequence>
         <xs:element name="number" >
            <xs:simpleType>
               <xs:restriction base="xs:unsignedShort"/>
            </xs:simpleType>
         </xs:element>
         <xs:element name="description" type="FreeText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: EXT_PatternCycleTime -->
<xs:simpleType name="PatternCycleTime" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_PatternOffsetTime -->
<xs:simpleType name="PatternOffsetTime" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>
 
<!-- Descriptive Name: Phase -->
<xs:complexType name="Phase" >
      <xs:sequence>
         <xs:element name="phaseNumber" type="PhaseNumber" />
         <!-- Removed in Rev 09 phase-Signal-State  Phase-Signal-State, -->
         <xs:element name="movement" type="FreeText" />
         <xs:element name="splitPhase" type="SplitPhase" />
         <xs:element name="splitTime" type="SplitTime" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: Phase-details -->
<xs:complexType name="Phase-details" >
      <xs:sequence minOccurs="1" maxOccurs="255">
         <xs:element name="phase-detail" type="Phase" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: PhaseNumber -->
<xs:simpleType name="PhaseNumber" >
      <xs:restriction base="xs:unsignedByte">
         <xs:minInclusive value="1"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: Phase-Signal-State -->
<xs:simpleType name="Phase-Signal-State" >
      <xs:annotation>
         <xs:appinfo>
            green (0)
            red (1)
            yellow (2)
            flashing red (3)
            flashing yellow (4)
            off (5)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="5"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="green"/>
               <xs:enumeration value="red"/>
               <xs:enumeration value="yellow"/>
               <xs:enumeration value="flashing red"/>
               <xs:enumeration value="flashing yellow"/>
               <xs:enumeration value="off"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: RAMP_CurrentState_code -->
<xs:simpleType name="Ramp-current-state" >
      <xs:annotation>
         <xs:appinfo>
            open (1)
            closed (2)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="1"/>
               <xs:maxInclusive value="2"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="open"/>
               <xs:enumeration value="closed"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: RAMP_ExitRoadwayName_text -->
<xs:simpleType name="Ramp-exit-roadway-name" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 128
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: RAMP_LaneNumber_quantity -->
<xs:simpleType name="Ramp-lane-number" >
      <xs:annotation>
         <xs:documentation>       
            lanes
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:unsignedByte">
         <xs:minInclusive value="1"/>
         <xs:maxInclusive value="50"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: RampMeterControl -->
<xs:complexType name="RampMeterControl" >
      <xs:sequence>
         <xs:element name="device-id" type="Device-identifier" />
         <!-- 3701 -->
         <xs:element name="meter-status" type="Meter-status" />
         <!-- 3533 -->
         <xs:element name="ramp-current-state" type="Ramp-current-state" />
         <!-- 3536
         node-name                 Node-name  OPTIONAL ,  -#-3047
         ramp-meter-control-type   RampMeter-control-type  OPTIONAL ,  -#-3535
         metering-type             Meter-metering-type  OPTIONAL ,  -#-3532
         last-update               DateTimeZone,
         operator-last-revised     Event-update-operator-last-revised  OPTIONAL ,  -#-3295
         AZTech added items -->
         <xs:element name="volume-data" type="Volume-data" />
         <!-- trigger point data
         requested special functions to be turned ON -->
         <xs:element name="special-functions-ON" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="8">
                  <xs:element name="special-functions-ON-item" type="Special-function" />
                  <!-- requested special functions to be turned OFF -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="special-functions-OFF" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="8">
                  <xs:element name="special-functions-OFF-item" type="Special-function" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="freeText" type="FreeText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: RampMeterInventory -->
<xs:complexType name="RampMeterInventory" >
      <xs:sequence>
         <!-- organization-information  OrganizationInformation, -->
         <xs:element name="device-id" type="Device-identifier" />
         <!-- 3701
         node-id                   Device-node-identifier,  -#-3750
         ramp-exit-roadway-name    Ramp-exit-roadway-name,  -#-3414 -->
         <xs:element name="link-direction" type="Link-direction" />
         <!-- 3008
         ramp-location             LRMS.GeoLocation  OPTIONAL ,
         route-designator          Link-route-designator  OPTIONAL ,  -#-3030
         linear-reference          Link-location-linear-reference  OPTIONAL ,  -#-3855
         linear-reference-version  Link-location-linear-reference-version  OPTIONAL ,  -#-3854
         simple lat-long added here -->
         <xs:element name="device-latitude" type="Latitude" />
         <xs:element name="device-longitude" type="Longitude" />
         <!-- node-name                 Node-name  OPTIONAL ,  -#-3047
         timing-plan-id            TimingPlan-identifier  OPTIONAL ,  -#-3486 -->
         <xs:element name="ramp-lane-number" type="Ramp-lane-number"  minOccurs="0"/>
         <!-- 3418
         the number of lanes controlled
         ramp-lane-type            Ramp-lane-type  OPTIONAL ,  -#-3427
         firmware                  Controller-firmware  OPTIONAL ,  -#-3460
         firmware-version          Controller-firmware-release-version  OPTIONAL ,  -#-3461
         device-url                Device-url  OPTIONAL ,  -#-3720
         last-update               DateTimePair,
         contact-details           ContactDetails  OPTIONAL , -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: RampMeterStatus -->
<xs:element name="rampMeterStatus" type="RampMeterStatus"/>
<xs:complexType name="RampMeterStatus" >
      <xs:sequence>
         <!-- center-id                 Organization-center-identifier  OPTIONAL ,  -#-3217
         operator-id               Organization-center-operator-identifier  OPTIONAL ,  -#-3112
         device-id                 Device-identifier,  -#-3701 -->
         <xs:element name="meter-status" type="Meter-status" />
         <!-- 3533
         ramp-current-state        Ramp-current-state,  -#-3536
         node-name                 Node-name  OPTIONAL ,  -#-3047
         ramp-meter-control-type   RampMeter-control-type  OPTIONAL ,  -#-3535
         metering-type             Meter-metering-type  OPTIONAL ,  -#-3532
         last-update               DateTimeZone,
         operator-last-revised     Event-update-operator-last-revised  OPTIONAL ,  -#-3295
         AZTech added items -->
         <xs:element name="volume-data" type="Volume-data" />
         <!-- local defined? -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: ReturnAddress -->
<xs:simpleType name="ReturnAddress" >
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: Schedule-entry -->
<xs:complexType name="Schedule-entry" >
      <xs:sequence>
         <xs:element name="startTime" type="DateTimePair" />
         <xs:element name="stopTime" type="DateTimePair" />
         <xs:element name="eventID" type="TimingPlan-identifier" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: SECTION_Identifier_identifier -->
<xs:simpleType name="Section-identifier" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: SECURITY_Password_text -->
<xs:simpleType name="Security-password" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: SECURITY_UserName_text -->
<xs:simpleType name="Security-user-name" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: SignalControlInventory -->
<xs:complexType name="SignalControlInventory" >
      <xs:sequence>
         <!-- organization-information  OrganizationInformation,
         node-id                   Node-identifier,  -#-3042
         node-name                 Node-name  OPTIONAL ,  -#-3047 -->
         <xs:element name="intersection-name" type="Intersection-name"  minOccurs="0"/>
         <!-- 3405
         network-id                Network-identifier  OPTIONAL ,  -#-3411 -->
         <xs:element name="device-id" type="Device-identifier" />
         <!-- 3701
         device-location           LRMS.GeoLocation  OPTIONAL ,
         just lat-long is used -->
         <xs:element name="device-latitude" type="Latitude"  minOccurs="0"/>
         <xs:element name="device-longitude" type="Longitude"  minOccurs="0"/>
         <!-- route-designator          Link-route-designator  OPTIONAL ,  -#-3030
         linear-reference          Link-location-linear-reference  OPTIONAL ,  -#-3855
         linear-reference-version  Link-location-linear-reference-version  OPTIONAL ,  -#-3854
         device-type               Device-type  OPTIONAL ,  -#-3747
         controller-model          Controller-model  OPTIONAL ,  -#-3464
         controller-serial-number  Controller-serial-number  OPTIONAL ,  -#-3467
         firmware                  Controller-firmware  OPTIONAL ,  -#-3460
         firmware-version          Controller-firmware-release-version  OPTIONAL ,  -#-3461
         controller-master-id      Controller-master-identifier  OPTIONAL ,  -#-3463
         timingplan-id             TimingPlan-identifier  OPTIONAL ,  -#-3486
         timingplan-name           TimingPlan-name  OPTIONAL ,  -#-3487
         cycle-time                NTCIP.PatternCycleTime  OPTIONAL ,   -#-3938
         offset-time               NTCIP.PatternOffsetTime  OPTIONAL ,  -#-3940
         sequence-number           NTCIP.PatternSequenceNumber  OPTIONAL ,  -#-3941
         split-number              NTCIP.PatternSplitNumber  OPTIONAL ,  -#-3942
         intersection-approaches   SEQUENCE  (SIZE (1..10) )  OF Link-identifier  OPTIONAL ,  -#-3012
         last-update-time          DateTimePair,
         contact-details           ContactDetails  OPTIONAL
         added by AZTech for deployment needs -->
         <xs:element name="section-identifier" type="Section-identifier"  minOccurs="0"/>
         <!-- 3421 -->
         <xs:element name="zone-identifier" type="Section-identifier"  minOccurs="0"/>
         <!-- 3421 -->
         <xs:element name="controller-Time" type="DateTimePair"  minOccurs="0"/>
         <!-- current time at controller -->
         <xs:element name="central-Time" type="DateTimePair" />
         <!-- current time at central -->
         <xs:element name="current-UTC-Time" type="DateTimePair"  minOccurs="0"/>
         <!-- current Coordinated Universal Time  (UTC) -->
         <xs:element name="battPercent"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:unsignedByte">
                  <xs:maxInclusive value="100"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- battery backup status -->
         <xs:element name="special-functions"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="8">
                  <xs:element name="special-function" type="Special-function" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="controller-log-entries"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="64">
                  <xs:element name="controller-log-entry" type="Controller-log-entry" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: Special-function -->
<xs:complexType name="Special-function" >
      <xs:sequence>
         <xs:element name="function-output-number" >
            <xs:simpleType>
               <xs:restriction base="xs:unsignedByte">
                  <xs:minInclusive value="1"/>
                  <xs:maxInclusive value="8"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="function-meaning" type="SpecialFunctionList" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: SpecialFunctionList -->
<xs:simpleType name="SpecialFunctionList" >
      <xs:annotation>
         <xs:appinfo>
            itemOne (0)
            itemTwo (1) -- add any comments here
            itemThree (2)
            itemFour (3)
         </xs:appinfo>
         <xs:documentation>       
            AZTech to assign these valus for strings
            as they become known
         </xs:documentation>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="3"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="itemOne"/>
               <xs:enumeration value="itemTwo"/>
               <xs:enumeration value="itemThree"/>
               <xs:enumeration value="itemFour"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: SplitPhase -->
<xs:simpleType name="SplitPhase" >
      <xs:restriction base="xs:unsignedByte">
         <xs:minInclusive value="1"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: SplitTime -->
<xs:simpleType name="SplitTime" >
      <xs:annotation>
         <xs:documentation>       
            units of seconds
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>
 
<!-- Descriptive Name: SubscriptionAction -->
<xs:complexType name="SubscriptionAction" >
      <xs:sequence minOccurs="1" maxOccurs="10">
         <xs:element name="subscriptionAction-item" type="SubscriptionActionItem" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: SubscriptionActionItem -->
<xs:simpleType name="SubscriptionActionItem" >
      <xs:annotation>
         <xs:appinfo>
            reserved (0)
            newSubscription (1)
            replaceSubscription (2)
            cancelSubscription (3)
            cancelAllPriorSubscriptions (4)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="4"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="reserved"/>
               <xs:enumeration value="newSubscription"/>
               <xs:enumeration value="replaceSubscription"/>
               <xs:enumeration value="cancelSubscription"/>
               <xs:enumeration value="cancelAllPriorSubscriptions"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: SubscriptionCount -->
<xs:simpleType name="SubscriptionCount" >
      <xs:restriction base="xs:unsignedInt">
         <xs:minInclusive value="1"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: SubscriptionFrequency -->
<xs:simpleType name="SubscriptionFrequency" >
      <xs:restriction base="xs:unsignedInt">
         <xs:minInclusive value="1"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: SubscriptionID -->
<xs:simpleType name="SubscriptionID" >
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: SubscriptionName -->
<xs:simpleType name="SubscriptionName" >
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: C2C_SubscriptionTimeFrame -->
<xs:complexType name="SubscriptionTimeFrame" >
      <xs:annotation>
         <xs:documentation>       
            using XML values
         </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="start" type="DateTimePair" />
         <xs:element name="end" type="DateTimePair" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: SubscriptionType -->
<xs:complexType name="SubscriptionType" >
      <xs:sequence minOccurs="1" maxOccurs="10">
         <xs:element name="subscriptionType-item" type="SubscriptionTypeItem" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: SubscriptionTypeItem -->
<xs:simpleType name="SubscriptionTypeItem" >
      <xs:annotation>
         <xs:appinfo>
            reserved (0)
            oneTime (1)
            periodic (2)
            onChange (3)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="3"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="reserved"/>
               <xs:enumeration value="oneTime"/>
               <xs:enumeration value="periodic"/>
               <xs:enumeration value="onChange"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_ATIS_Time -->
<xs:simpleType name="Time">
   <xs:restriction base="xs:time"/>
</xs:simpleType>
 
<!-- Descriptive Name: TimeInterval -->
<xs:simpleType name="TimeInterval">
   <xs:restriction base="xs:duration"/>
</xs:simpleType>
 
<!-- Descriptive Name: TimingPlan -->
<xs:complexType name="TimingPlan" >
      <xs:sequence>
         <xs:element name="device-id" type="Device-identifier" />
         <!-- 3701 -->
         <xs:element name="intersection-name" type="Intersection-name"  minOccurs="0"/>
         <!-- 3405
         section-id               Section-identifier  OPTIONAL ,  -#-3421
         controller-state         Controller-response-state,  -#-3465
         controller-mode          Intersection-signal-control-mode,  -#-3472
         center-id                Organization-center-identifier  OPTIONAL ,  -#-3217
         operator-id              Device-organization-operator-identifier,  -#-3706 -->
         <xs:element name="timing-plan-id" type="TimingPlan-identifier"  minOccurs="0"/>
         <!-- 3486 -->
         <xs:element name="timing-plan-name" type="TimingPlan-name"  minOccurs="0"/>
         <!-- 3487 -->
         <xs:element name="cycle-time" type="PatternCycleTime"  minOccurs="0"/>
         <!-- 3938 -->
         <xs:element name="offset-time" type="PatternOffsetTime"  minOccurs="0"/>
         <!-- 3940
         preempt-name             Preempt-name  OPTIONAL ,  -#-3483
         controller-sync-time     Controller-sync-time  OPTIONAL ,  -#-3772
         last-update-time         DateTimeZone  OPTIONAL ,
         operator-last-revised    Event-update-operator-last-revised  OPTIONAL  -#-3295 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TIMING.PLAN_Identifier_identifier -->
<xs:simpleType name="TimingPlan-identifier" >
      <xs:annotation>
         <xs:documentation>       
            Any set of alphanumeric characters up to 32
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="32"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: TIMING.PLAN_Name_text -->
<xs:simpleType name="TimingPlan-name" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 128
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: TMSControlRequest-AZTech -->
<xs:element name="tMSControlRequest-AZTech" type="TMSControlRequest-AZTech"/>
<xs:complexType name="TMSControlRequest-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="device-id" type="Device-identifier" />
         <!-- 3701 -->
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- 3717 -->
         <xs:element name="timing-plan-id" type="TimingPlan-identifier" />
         <!-- note change of element name from std -->
         <xs:element name="command-request-priority" type="Device-command-request-priority" />
         <xs:element name="command-start-time" type="DateTimePair" />
         <xs:element name="command-end-time" type="DateTimePair" />
         <!-- Items below added by AzDot to meet local needs
         ramp meter thresshold request -->
         <xs:element name="rampMeterControl-req" type="RampMeterControl"  minOccurs="0"/>
         <!-- requested special function from this device -->
         <xs:element name="special-functions-req" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="8">
                  <xs:element name="special-functions-req-item" type="Special-function" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="freeText" type="FreeText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TMSInformationResponse-AZTech -->
<xs:element name="tMSInformationResponse-AZTech" type="TMSInformationResponse-AZTech"/>
<xs:complexType name="TMSInformationResponse-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <!-- Items below added by Azdot to meet local needs
         below line handles each Intersection in turn -->
         <xs:element name="intersections" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="10000">
                  <xs:element name="intersection" type="IntersectionDevicesSummary" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="freeText" type="FreeText" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TMSInformationTimingPlanDetailRequest-AZTech -->
<xs:element name="tMSInformationTimingPlanDetailRequest-AZTech" type="TMSInformationTimingPlanDetailRequest-AZTech"/>
<xs:complexType name="TMSInformationTimingPlanDetailRequest-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="devices" >
            <xs:complexType>
               <xs:sequence minOccurs="1" maxOccurs="100000">
                  <xs:element name="device" type="Device-identifier" />
                  <!-- 3701 an id = 0 means request all Items below added by Azdot to meet local needs -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- 3717 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TMSInventoryPublication-AZTech -->
<xs:element name="tMSInventoryPublication-AZTech" type="TMSInventoryPublication-AZTech"/>
<xs:complexType name="TMSInventoryPublication-AZTech" >
      <xs:sequence>
         <xs:element name="c2cMessagePublication" type="C2cMessagePublication" />
         <xs:element name="signalControlInventory" type="TMSInventoryResponse-AZTech" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TMSInventoryResponse-AZTech -->
<xs:element name="tMSInventoryResponse-AZTech" type="TMSInventoryResponse-AZTech"/>
<xs:complexType name="TMSInventoryResponse-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationLong" />
         <xs:element name="organization-requesting" type="OrganizationInformationShort" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="intersections" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="10000">
                  <xs:element name="intersection" type="IntersectionDevicesSummary" />
                  <!-- Problem: The AzTech spec wants an update verb for item mentioned here,  this could be hard to do. let alone hard to build. -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TMSStatusPublication-AZTech -->
<xs:element name="tMSStatusPublication-AZTech" type="TMSStatusPublication-AZTech"/>
<xs:complexType name="TMSStatusPublication-AZTech" >
      <xs:sequence>
         <xs:element name="c2cMessagePublication" type="C2cMessagePublication" />
         <xs:element name="deviceStatus" type="TMSStatusResponse-AZTech" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TMSStatusResponse-AZTech -->
<xs:element name="tMSStatusResponse-AZTech" type="TMSStatusResponse-AZTech"/>
<xs:complexType name="TMSStatusResponse-AZTech" >
      <xs:sequence>
         <xs:element name="organization-owning" type="OrganizationInformationShort" />
         <xs:element name="organization-requesting" type="OrganizationInformationLong" />
         <xs:element name="authorization" type="AuthorizationSet" />
         <xs:element name="devices" >
            <xs:complexType>
               <xs:sequence minOccurs="1" maxOccurs="100">
                  <xs:element name="device" type="IntersectionSummaryStatus" />
                  <!-- several Azdot needs here Items below added by Azdot to meet local needs -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="request-id" type="Device-request-identifier" />
         <!-- 3717 -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TMSTimingPlanPublication-AZTech -->
<xs:element name="tMSTimingPlanPublication-AZTech" type="TMSTimingPlanPublication-AZTech"/>
<xs:complexType name="TMSTimingPlanPublication-AZTech" >
      <xs:sequence>
         <xs:element name="c2cMessagePublication" type="C2cMessagePublication" />
         <xs:element name="timingPlans" type="TMSTimingPlanResponse-AZTech" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TMSTimingPlanResponse-AZTech -->
<xs:element name="tMSTimingPlanResponse-AZTech" type="TMSTimingPlanResponse-AZTech"/>
<xs:complexType name="TMSTimingPlanResponse-AZTech" >
      <xs:sequence>
         <!-- organization-owning       OrganizationInformationShort,
         do we not need at least the owner?
         organization-requesting   OrganizationInformationLong,
         authorization             AuthorizationSet, -->
         <xs:element name="device-id" type="Device-identifier" />
         <xs:element name="center-id" type="Organization-center-identifier" />
         <xs:element name="plans" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="255">
                  <xs:element name="plan" type="TimingPlan" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <!-- Items below added by Azdot to meet local needs -->
         <xs:element name="maxPhases" type="MaxPhases" />
         <xs:element name="phase-details" type="Phase-details" />
         <!-- req states: movement for each phase,  NBT,  NBL,  NBR etc..
         the split for each phase -->
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: TMSTimingPlanSubscription-AZTech -->
<xs:element name="tMSTimingPlanSubscription-AZTech" type="TMSTimingPlanSubscription-AZTech"/>
<xs:complexType name="TMSTimingPlanSubscription-AZTech" >
      <xs:sequence>
         <xs:element name="c2cMessageSubscription" type="C2cMessageSubscription" />
         <xs:element name="timingPlanRequest" type="TimingPlan" />
      </xs:sequence>
</xs:complexType>
 
<!-- Descriptive Name: EXT_LRMS_VerticalDatum -->
<xs:simpleType name="VerticalDatum" >
      <xs:annotation>
         <xs:appinfo>
            wgs 84 (0)
            navd (1)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="1"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="wgs 84"/>
               <xs:enumeration value="navd"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>
 
<!-- Descriptive Name: EXT_LRMS_VerticalLevel -->
<xs:simpleType name="VerticalLevel" >
      <xs:restriction base="xs:byte">
         <xs:minInclusive value="-127"/>
      </xs:restriction>
</xs:simpleType>
 
<!-- Descriptive Name: Volume-data -->
<xs:simpleType name="Volume-data" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>
  


<!-- Unable to find the file: C:\Documents and Settings\DavidK\My Documents\code\MiniEdit/ITSschemas/AZTECH-01-00-09/AZTECH-Local-01-00-09imports.xml -->
<!-- Which would be be inserted at this point if present. -->


<!--  -->
<!-- These items are added the schema file by the export routines -->
<!-- The below entries are provided to "patch" to common items  -->
<!-- which ideally will be properly defined in other namesspaces  -->
<!--  -->

<xs:complexType name="xxx"/>  <!-- add others as needed -->

<!--  -->
<!-- The final few items are global types used by other entires -->
<!--  -->

<xs:simpleType name="binary">
   <xs:restriction base="xs:string">
      <xs:pattern value="[01]*"/> 
   </xs:restriction>
</xs:simpleType>

<xs:simpleType name="OctetStringOptions">   
   <xs:union memberTypes="xs:hexBinary xs:base64Binary"/>      
</xs:simpleType> 
<xs:complexType name="OctetString">
   <xs:simpleContent>
      <xs:extension base="OctetStringOptions">
         <xs:attribute name="EncodingType" use="required">
            <xs:simpleType>
               <xs:restriction base="xs:NMTOKEN">
                  <xs:enumeration value="hexBinary"/>
                  <xs:enumeration value="base64Binary"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:attribute>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

<xs:simpleType name="NumericString">
   <xs:restriction base="xs:string">
      <xs:pattern value="\d*"/>  
   </xs:restriction>
</xs:simpleType>
<!-- END of the output -->

</xs:schema>