<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="PortML"> <xs:complexType> <xs:sequence> <xs:element name="Metadata"> <xs:complexType> <xs:sequence> <xs:element name="Company" type="xs:string" /> <xs:element name="Copyright" type="xs:string" /> </xs:sequence> <xs:attribute name="Language" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:element name="DesignSheet"> <xs:complexType> <xs:sequence> <xs:element name="PlotScale" minOccurs="1" maxOccurs="1"> <xs:complexType> <xs:attribute name="Value" type="xs:unsignedShort" use="required" /> <xs:attribute name="Unit" type="xs:string" use="required" /> <xs:attribute name="OffsetX" type="xs:decimal" use="optional" /> <xs:attribute name="OffsetY" type="xs:decimal" use="optional" /> </xs:complexType> </xs:element> <xs:element name="Modules"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="Module"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="Children"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="Child"> <xs:complexType> <xs:attribute name="ModuleReferenceId" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element minOccurs="0" name="StaticProperties"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="unbounded" name="Setter"> <xs:complexType> <xs:attribute name="Property" type="xs:string" use="required" /> <xs:attribute name="Value" type="xs:string" use="required" /> <xs:attribute name="Type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="number" /> <xs:enumeration value="decimal" /> <xs:enumeration value="text" /> <xs:enumeration value="endlotsposition" /> <xs:enumeration value="boolean" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Type" type="xs:string" use="required" /> <xs:attribute name="Name" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Layout"> <xs:complexType> <xs:sequence> <xs:element name="Infrastructure"> <xs:complexType> <xs:sequence> <xs:element name="Links"> <xs:complexType> <xs:sequence> <xs:element name="Paths"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="Path"> <xs:complexType> <xs:attribute name="Type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="PerpendicularTwoWayWorkingLane" /> <xs:enumeration value="TwoWayWorkingLane" /> <xs:enumeration value="WorkingLane" /> <xs:enumeration value="PassingLane" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="StartingPoint" type="xs:string" use="required" /> <xs:attribute name="EndingPoint" type="xs:string" use="required" /> <xs:attribute name="NumberOfLanes" type="xs:integer" use="required" /> <xs:attribute name="NumberOfGaps" type="xs:integer" use="required" /> <xs:attribute name="Tags" type="xs:string" use="optional" /> <xs:attribute name="LeftTags" type="xs:string" use="optional" /> <xs:attribute name="RightTags" type="xs:string" use="optional" /> <xs:attribute name="OffsetX" type="xs:decimal" use="optional" /> <xs:attribute name="OffsetY" type="xs:decimal" use="optional" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Locations"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="Location"> <xs:complexType> <xs:attribute name="ReferenceId" type="xs:string" use="required" /> <xs:attribute name="Coordinate" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Version" type="xs:decimal" use="required" /> </xs:complexType> </xs:element> </xs:schema>