<?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 &apos;-&apos; and &apos;.&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 "s" 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) ; &quot;MM&quot; is the minute of hour (with legal values from 00 to 59) ; &quot;SS&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>