<?xml version="1.0" encoding="UTF-8"?>
<!-- Output of XML portions of the registry data into file: IM.xsd -->
<!-- in a complete XML schema with all entries that are referenced -->
<!-- Run on Mini-Edit [Version 0.5.214] -->
<!-- From node C:-149-9703-5081 Created on 4/14/2003at 10:02:22 AM  -->
 
 
<!--  --> 
<xs:schema targetNamespace="http://www.im-address" 
   xmlns="http://www.im-address" 
   xmlns:xs="http://www.w3.org/2001/XMLSchema" 
   
xmlns:atis="http://www.atis-address"
xmlns:tmdd="http://www.tmdd-address"
xmlns:itis="http://www.itis-address"

   elementFormDefault="unqualified" 
   attributeFormDefault="unqualified" 
   version="DRAFT">
 

<xs:import namespace="http://www.atis-address" schemaLocation="atis.xsd"/>
<xs:import namespace="http://www.tmdd-address" schemaLocation="tmdd.xsd"/>
<xs:import namespace="http://www.itis-address" schemaLocation="itis.xsd"/>

 
<xs:annotation>
   <xs:documentation>
      Exported on: 10:02:22 AM Monday, April 14, 2003 From file: ATIS_J2354_r64.mdb [By: Mini-Edit Rev 0.5.214] 
   </xs:documentation>
</xs:annotation>
 


<!-- Descriptive Name: EXT_Urgency -->
<xs:simpleType name="Urgency" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="5"/>
      </xs:restriction>
</xs:simpleType>

<!-- Descriptive Name: EXT_Pedigree-list -->
<xs:complexType name="Pedigree-list" >
      <xs:sequence minOccurs="1" maxOccurs="32">
         <xs:element name="pedigree-list-item" >
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="event" type="tmdd:Event-identifier" />
                  <!-- see also [ITE.TMDD.Event-identifier;3215] -->
                  <xs:element name="reason" type="atis:SplitReason" />
                  <xs:element name="event-desc"  minOccurs="0">
                     <xs:simpleType>
                        <xs:restriction base="xs:string">
                           <xs:minLength value="1"/>
                           <xs:maxLength value="255"/>
                        </xs:restriction>
                     </xs:simpleType>
                  </xs:element>
                  <!-- any additional textual data -->
               </xs:sequence>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
</xs:complexType>

<!-- Descriptive Name: EXT_LaneDescriptions -->
<xs:complexType name="LaneDescription" >
      <xs:sequence>
         <xs:element name="laneSelect" type="tmdd:Event-lanes-blocked-or-closed-count"  minOccurs="0"/>
         <!-- a bit string indicating which lanes this applies top  (a mask)
         numbered from the inside lane with shoulder as the first bit
         all one&apos;s taken as all lanes,  regardless of the count value below -->
         <xs:element name="laneCnt" type="tmdd:Link-lanes-number-open"  minOccurs="0"/>
         <!-- the number of nominal lanes for the link,  used as a mask for above
         zero indicates the count is unknown -->
         <xs:element name="type" type="itis:LaneRoadway"  minOccurs="0"/>
         <!-- the ITIS code for various lane types
         such as: HOV,  left,  right,  all,  ramp,  bridge,  etc. -->
         <xs:element name="location" type="itis:GenericLocations"  minOccurs="0"/>
         <!-- the ITIS code for generic locations beside a lane
         such as: opposing lanes,  on ramps,  etc ... -->
         <xs:element name="condition" type="itis:Closures"  minOccurs="0"/>
         <!-- the ITIS codes for various conditions for the lane
         such as: blocked,  closed,  closed ahead,  clearing,  etc -->
         <xs:element name="direction" type="atis:Direction"  minOccurs="0"/>
         <!-- set to indicate if this description pertains to both directions
         on the link or just to one -->
         <xs:element name="estClearTime" type="atis:DateTimePair"  minOccurs="0"/>
         <!-- the point in time when the above conditions are estimated to be
         removed and the flow over the lane/link returned to normal -->
         <xs:element name="furtherInfo" type="FreeText"  minOccurs="0"/>
         <!-- if information on why the lane (s)  was closed,  or how the lane (s)
         was closed,  or what will allow it to reopen is needed,  place such
         data in free text here. Limit use to only lane inforamtion,  do not
         use it for general event information.
         When one of the above items does not apply  (i.e. would be represented as zero)
         then it should not be sent.
         Note that first two elements may require the same map db in order to fully
         exchange and understand between centers. -->
      </xs:sequence>
</xs:complexType>

<!-- Descriptive Name: EXT_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_InjuryCounts -->
<xs:complexType name="InjuryCounts" >
      <xs:sequence>
         <xs:element name="injuryLevel" >
            <xs:simpleType>
               <xs:annotation>
                  <xs:appinfo>
                     unknown (0)
                     minor (1)
                     major (2)
                     fatal (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="unknown"/>
                        <xs:enumeration value="minor"/>
                        <xs:enumeration value="major"/>
                        <xs:enumeration value="fatal"/>
                     </xs:restriction>
                  </xs:simpleType >
               </xs:union>
            </xs:simpleType>
         </xs:element>
         <xs:element name="count" >
            <xs:simpleType>
               <xs:restriction base="xs:unsignedShort">
                  <xs:maxInclusive value="1000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
      </xs:sequence>
</xs:complexType>

<!-- Unable to find the file: IM -->
<!-- Which would be be inserted at this point if present. -->



<!-- Unable to find the file: C:\Documents and Settings\Administrator\My Documents\Code\Mini_Edit\XMLSchemas\IMimports.xml -->
<!-- Which would be be inserted at this point if present. -->

<!--  -->
<!-- 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>
<!-- End of the IM.xsd file. --> 
