laurent@2022: <?xml version="1.0" encoding="UTF-8"?>
laurent@2022: <!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Beckmann (BECKHOFF Automation GmbH) -->
laurent@2022: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
laurent@2022: 	<xs:complexType name="AccessType">
laurent@2022: 		<xs:simpleContent>
laurent@2022: 			<xs:extension base="xs:NMTOKEN">
laurent@2022: 				<xs:attribute name="ReadRestrictions">
laurent@2022: 					<xs:simpleType>
laurent@2022: 						<xs:restriction base="xs:NMTOKEN">
laurent@2022: 							<xs:enumeration value="PreOp"/>
laurent@2022: 							<xs:enumeration value="PreOP_SafeOP"/>
laurent@2022: 							<xs:enumeration value="PreOP_OP"/>
laurent@2022: 							<xs:enumeration value="SafeOP"/>
laurent@2022: 							<xs:enumeration value="SafeOP_OP"/>
laurent@2022: 							<xs:enumeration value="OP"/>
laurent@2022: 						</xs:restriction>
laurent@2022: 					</xs:simpleType>
laurent@2022: 				</xs:attribute>
laurent@2022: 				<xs:attribute name="WriteRestrictions">
laurent@2022: 					<xs:simpleType>
laurent@2022: 						<xs:restriction base="xs:NMTOKEN">
laurent@2022: 							<xs:enumeration value="PreOp"/>
laurent@2022: 							<xs:enumeration value="PreOP_SafeOP"/>
laurent@2022: 							<xs:enumeration value="PreOP_OP"/>
laurent@2022: 							<xs:enumeration value="SafeOP"/>
laurent@2022: 							<xs:enumeration value="SafeOP_OP"/>
laurent@2022: 							<xs:enumeration value="OP"/>
laurent@2022: 						</xs:restriction>
laurent@2022: 					</xs:simpleType>
laurent@2022: 				</xs:attribute>
laurent@2022: 			</xs:extension>
laurent@2022: 		</xs:simpleContent>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="ArrayInfoType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="LBound" type="xs:integer"/>
laurent@2022: 			<xs:element name="Elements" type="xs:integer"/>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="DataTypeType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="Index" type="HexDecValue" minOccurs="0"/>
laurent@2022: 			<xs:element name="Name" type="xs:string"/>
laurent@2022: 			<xs:element name="BaseType" type="xs:string" minOccurs="0"/>
laurent@2022: 			<xs:element name="Comment" type="NameType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="BitSize" type="xs:int"/>
laurent@2022: 			<xs:choice minOccurs="0">
laurent@2022: 				<xs:element name="ArrayInfo" type="ArrayInfoType" minOccurs="0" maxOccurs="3"/>
laurent@2022: 				<xs:element name="SubItem" type="SubItemType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 				<xs:element name="EnumInfo" type="EnumInfoType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			</xs:choice>
laurent@2022: 			<xs:element name="Properties" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Xml" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="PropertyType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="Name" type="xs:string"/>
laurent@2022: 			<xs:element name="Value" type="xs:string" minOccurs="0"/>
laurent@2022: 			<xs:element name="Desc" type="NameType" minOccurs="0"/>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="SubItemType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="SubIdx" type="HexDecValue" minOccurs="0"/>
laurent@2022: 			<xs:element name="Name" type="xs:string"/>
laurent@2022: 			<xs:element name="DisplayName" type="NameType" minOccurs="0" maxOccurs="unbounded">
laurent@2022: 				<xs:annotation>
laurent@2022: 					<xs:documentation>for future use</xs:documentation>
laurent@2022: 				</xs:annotation>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Type" type="xs:string"/>
laurent@2022: 			<xs:element name="Comment" type="NameType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="BitSize" type="xs:int"/>
laurent@2022: 			<xs:element name="BitOffs" type="xs:int"/>
laurent@2022: 			<xs:choice minOccurs="0">
laurent@2022: 				<xs:element name="DefaultString" type="xs:string" minOccurs="0">
laurent@2022: 					<xs:annotation>
laurent@2022: 						<xs:documentation>obsolete</xs:documentation>
laurent@2022: 					</xs:annotation>
laurent@2022: 				</xs:element>
laurent@2022: 				<xs:element name="DefaultData" type="xs:hexBinary" minOccurs="0">
laurent@2022: 					<xs:annotation>
laurent@2022: 						<xs:documentation>obsolete</xs:documentation>
laurent@2022: 					</xs:annotation>
laurent@2022: 				</xs:element>
laurent@2022: 				<xs:sequence minOccurs="0">
laurent@2022: 					<xs:element name="MinValue" type="HexDecValue" minOccurs="0">
laurent@2022: 						<xs:annotation>
laurent@2022: 							<xs:documentation>obsolete</xs:documentation>
laurent@2022: 						</xs:annotation>
laurent@2022: 					</xs:element>
laurent@2022: 					<xs:element name="MaxValue" type="HexDecValue" minOccurs="0">
laurent@2022: 						<xs:annotation>
laurent@2022: 							<xs:documentation>obsolete</xs:documentation>
laurent@2022: 						</xs:annotation>
laurent@2022: 					</xs:element>
laurent@2022: 					<xs:element name="DefaultValue" type="HexDecValue" minOccurs="0">
laurent@2022: 						<xs:annotation>
laurent@2022: 							<xs:documentation>obsolete</xs:documentation>
laurent@2022: 						</xs:annotation>
laurent@2022: 					</xs:element>
laurent@2022: 				</xs:sequence>
laurent@2022: 			</xs:choice>
laurent@2022: 			<xs:element name="Flags" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:element name="Access" minOccurs="0">
laurent@2022: 							<xs:complexType>
laurent@2022: 								<xs:simpleContent>
laurent@2022: 									<xs:restriction base="AccessType">
laurent@2022: 										<xs:pattern value="ro"/>
laurent@2022: 										<xs:pattern value="rw"/>
laurent@2022: 										<xs:pattern value="wo"/>
laurent@2022: 									</xs:restriction>
laurent@2022: 								</xs:simpleContent>
laurent@2022: 							</xs:complexType>
laurent@2022: 						</xs:element>
laurent@2022: 						<xs:element name="Category" minOccurs="0">
laurent@2022: 							<xs:simpleType>
laurent@2022: 								<xs:restriction base="xs:NMTOKEN">
laurent@2022: 									<xs:enumeration value="m"/>
laurent@2022: 									<xs:enumeration value="o"/>
laurent@2022: 									<xs:enumeration value="c"/>
laurent@2022: 								</xs:restriction>
laurent@2022: 							</xs:simpleType>
laurent@2022: 						</xs:element>
laurent@2022: 						<xs:element name="PdoMapping" minOccurs="0">
laurent@2022: 							<xs:simpleType>
laurent@2022: 								<xs:restriction base="xs:NMTOKEN">
laurent@2022: 									<xs:enumeration value="T"/>
laurent@2022: 									<xs:enumeration value="R"/>
laurent@2022: 									<xs:enumeration value="TR"/>
laurent@2022: 									<xs:enumeration value="RT"/>
laurent@2022: 									<xs:enumeration value="t"/>
laurent@2022: 									<xs:enumeration value="r"/>
laurent@2022: 									<xs:enumeration value="tr"/>
laurent@2022: 									<xs:enumeration value="rt"/>
laurent@2022: 								</xs:restriction>
laurent@2022: 							</xs:simpleType>
laurent@2022: 						</xs:element>
laurent@2022: 						<xs:element name="SafetyMapping" minOccurs="0">
laurent@2022: 							<xs:simpleType>
laurent@2022: 								<xs:restriction base="xs:NMTOKEN">
laurent@2022: 									<xs:enumeration value="si"/>
laurent@2022: 									<xs:enumeration value="SI"/>
laurent@2022: 									<xs:enumeration value="so"/>
laurent@2022: 									<xs:enumeration value="SO"/>
laurent@2022: 									<xs:enumeration value="sio"/>
laurent@2022: 									<xs:enumeration value="SIO"/>
laurent@2022: 									<xs:enumeration value="sp"/>
laurent@2022: 									<xs:enumeration value="SP"/>
laurent@2022: 								</xs:restriction>
laurent@2022: 							</xs:simpleType>
laurent@2022: 						</xs:element>
laurent@2022: 						<xs:element name="Attribute" type="HexDecValue" minOccurs="0"/>
laurent@2022: 						<xs:element name="Backup" type="xs:int" minOccurs="0"/>
laurent@2022: 						<xs:element name="Setting" type="xs:int" minOccurs="0"/>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="Xml" minOccurs="0">
laurent@2022: 				<xs:annotation>
laurent@2022: 					<xs:documentation>obsolete</xs:documentation>
laurent@2022: 				</xs:annotation>
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="EnumInfoType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="Text" type="NameType" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="Enum" type="xs:int"/>
laurent@2022: 			<xs:element name="Comment" type="NameType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="NameType">
laurent@2022: 		<xs:simpleContent>
laurent@2022: 			<xs:extension base="xs:string">
laurent@2022: 				<xs:attribute name="LcId" type="xs:integer" use="optional" default="1033"/>
laurent@2022: 			</xs:extension>
laurent@2022: 		</xs:simpleContent>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="DictionaryType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="DataTypes" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:element name="DataType" type="DataTypeType" minOccurs="0" maxOccurs="unbounded">
laurent@2022: 							<xs:key name="SubItemKey">
laurent@2022: 								<xs:selector xpath="./SubItem"/>
laurent@2022: 								<xs:field xpath="Name"/>
laurent@2022: 							</xs:key>
laurent@2022: 						</xs:element>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 				<xs:key name="DataTypeKey">
laurent@2022: 					<xs:selector xpath="./DataType"/>
laurent@2022: 					<xs:field xpath="Name"/>
laurent@2022: 				</xs:key>
laurent@2022: 				<xs:keyref name="BaseTypeRef" refer="DataTypeKey">
laurent@2022: 					<xs:selector xpath="./DataType"/>
laurent@2022: 					<xs:field xpath="BaseType"/>
laurent@2022: 				</xs:keyref>
laurent@2022: 				<xs:keyref name="SubItemTypeRef" refer="DataTypeKey">
laurent@2022: 					<xs:selector xpath="./DataType/SubItem"/>
laurent@2022: 					<xs:field xpath="Type"/>
laurent@2022: 				</xs:keyref>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Objects">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:element name="Object" type="ObjectType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:simpleType name="HexDecValue">
laurent@2022: 		<xs:restriction base="xs:string">
laurent@2022: 			<xs:pattern value="[+-]?[0-9]{1,}"/>
laurent@2022: 			<xs:pattern value="#x[0-9|a-f|A-F]{1,}"/>
laurent@2022: 		</xs:restriction>
laurent@2022: 	</xs:simpleType>
laurent@2022: 	<xs:complexType name="ObjectType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="Index">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:simpleContent>
laurent@2022: 						<xs:extension base="HexDecValue">
laurent@2022: 							<xs:attribute name="DependOnSlot" type="xs:boolean" use="optional"/>
laurent@2022: 							<xs:attribute name="DependOnSlotGroup" type="xs:boolean" use="optional"/>
laurent@2022: 							<xs:attribute name="OverwrittenByModule" type="xs:boolean" use="optional"/>
laurent@2022: 						</xs:extension>
laurent@2022: 					</xs:simpleContent>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Name" type="NameType" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="Comment" type="NameType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="Type" type="xs:string"/>
laurent@2022: 			<xs:element name="BitSize" type="xs:int"/>
laurent@2022: 			<xs:element name="Info" type="ObjectInfoType" minOccurs="0"/>
laurent@2022: 			<xs:element name="Flags" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:element name="Access" minOccurs="0">
laurent@2022: 							<xs:complexType>
laurent@2022: 								<xs:simpleContent>
laurent@2022: 									<xs:restriction base="AccessType">
laurent@2022: 										<xs:pattern value="ro"/>
laurent@2022: 										<xs:pattern value="rw"/>
laurent@2022: 										<xs:pattern value="wo"/>
laurent@2022: 									</xs:restriction>
laurent@2022: 								</xs:simpleContent>
laurent@2022: 							</xs:complexType>
laurent@2022: 						</xs:element>
laurent@2022: 						<xs:element name="Category" minOccurs="0">
laurent@2022: 							<xs:simpleType>
laurent@2022: 								<xs:restriction base="xs:NMTOKEN">
laurent@2022: 									<xs:enumeration value="m"/>
laurent@2022: 									<xs:enumeration value="o"/>
laurent@2022: 									<xs:enumeration value="c"/>
laurent@2022: 								</xs:restriction>
laurent@2022: 							</xs:simpleType>
laurent@2022: 						</xs:element>
laurent@2022: 						<xs:element name="PdoMapping" minOccurs="0">
laurent@2022: 							<xs:simpleType>
laurent@2022: 								<xs:restriction base="xs:NMTOKEN">
laurent@2022: 									<xs:enumeration value="T"/>
laurent@2022: 									<xs:enumeration value="R"/>
laurent@2022: 									<xs:enumeration value="TR"/>
laurent@2022: 									<xs:enumeration value="RT"/>
laurent@2022: 									<xs:enumeration value="t"/>
laurent@2022: 									<xs:enumeration value="r"/>
laurent@2022: 									<xs:enumeration value="tr"/>
laurent@2022: 									<xs:enumeration value="rt"/>
laurent@2022: 								</xs:restriction>
laurent@2022: 							</xs:simpleType>
laurent@2022: 						</xs:element>
laurent@2022: 						<xs:element name="SafetyMapping" minOccurs="0">
laurent@2022: 							<xs:simpleType>
laurent@2022: 								<xs:restriction base="xs:NMTOKEN">
laurent@2022: 									<xs:enumeration value="si"/>
laurent@2022: 									<xs:enumeration value="SI"/>
laurent@2022: 									<xs:enumeration value="so"/>
laurent@2022: 									<xs:enumeration value="SO"/>
laurent@2022: 									<xs:enumeration value="sio"/>
laurent@2022: 									<xs:enumeration value="SIO"/>
laurent@2022: 									<xs:enumeration value="sp"/>
laurent@2022: 									<xs:enumeration value="SP"/>
laurent@2022: 								</xs:restriction>
laurent@2022: 							</xs:simpleType>
laurent@2022: 						</xs:element>
laurent@2022: 						<xs:element name="Attribute" type="HexDecValue" minOccurs="0"/>
laurent@2022: 						<xs:element name="Transition" minOccurs="0">
laurent@2022: 							<xs:annotation>
laurent@2022: 								<xs:documentation>obsolete</xs:documentation>
laurent@2022: 							</xs:annotation>
laurent@2022: 							<xs:simpleType>
laurent@2022: 								<xs:restriction base="xs:NMTOKEN">
laurent@2022: 									<xs:enumeration value="IP"/>
laurent@2022: 									<xs:enumeration value="PS"/>
laurent@2022: 									<xs:enumeration value="SO"/>
laurent@2022: 								</xs:restriction>
laurent@2022: 							</xs:simpleType>
laurent@2022: 						</xs:element>
laurent@2022: 						<xs:element name="SdoAccess" minOccurs="0">
laurent@2022: 							<xs:simpleType>
laurent@2022: 								<xs:restriction base="xs:NMTOKEN">
laurent@2022: 									<xs:enumeration value="CompleteAccess"/>
laurent@2022: 									<xs:enumeration value="SubIndexAccess"/>
laurent@2022: 								</xs:restriction>
laurent@2022: 							</xs:simpleType>
laurent@2022: 						</xs:element>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Properties" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Xml" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="ObjectInfoType">
laurent@2046: 		<xs:sequence minOccurs="0">
laurent@2046: 			<xs:choice>
laurent@2046: 				<xs:element name="DefaultString" type="xs:string" minOccurs="0"/>
laurent@2046: 				<xs:sequence minOccurs="0">
laurent@2022: 					<xs:element name="MinData" type="xs:hexBinary" minOccurs="0"/>
laurent@2022: 					<xs:element name="MaxData" type="xs:hexBinary" minOccurs="0"/>
laurent@2022: 					<xs:element name="DefaultData" type="xs:hexBinary" minOccurs="0"/>
laurent@2022: 				</xs:sequence>
laurent@2046: 				<xs:sequence minOccurs="0">
laurent@2022: 					<xs:element name="MinValue" type="HexDecValue" minOccurs="0"/>
laurent@2022: 					<xs:element name="MaxValue" type="HexDecValue" minOccurs="0"/>
laurent@2022: 					<xs:element name="DefaultValue" type="HexDecValue" minOccurs="0"/>
laurent@2022: 				</xs:sequence>
laurent@2046: 				<xs:element name="SubItem" minOccurs="0" maxOccurs="unbounded">
laurent@2022: 					<xs:complexType>
laurent@2022: 						<xs:sequence>
laurent@2022: 							<xs:element name="Name" type="xs:string"/>
laurent@2022: 							<xs:element name="Info" type="ObjectInfoType"/>
laurent@2022: 						</xs:sequence>
laurent@2022: 					</xs:complexType>
laurent@2022: 				</xs:element>
laurent@2022: 			</xs:choice>
laurent@2022: 			<xs:element name="Unit" type="HexDecValue" minOccurs="0"/>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="EntryType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="Index">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:simpleContent>
laurent@2022: 						<xs:extension base="HexDecValue">
laurent@2022: 							<xs:attribute name="DependOnSlot" type="xs:boolean" use="optional"/>
laurent@2022: 							<xs:attribute name="DependOnSlotGroup" type="xs:boolean" use="optional"/>
laurent@2022: 						</xs:extension>
laurent@2022: 					</xs:simpleContent>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="SubIndex" type="HexDecValue" minOccurs="0"/>
laurent@2022: 			<xs:element name="BitLen" type="xs:int"/>
laurent@2022: 			<xs:element name="Name" type="NameType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="Comment" type="xs:string" minOccurs="0"/>
laurent@2022: 			<xs:element name="DataType" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:simpleContent>
laurent@2022: 						<xs:extension base="xs:string">
laurent@2022: 							<xs:attribute name="DScale" use="optional">
laurent@2022: 								<xs:simpleType>
laurent@2022: 									<xs:restriction base="xs:string">
laurent@2022: 										<xs:enumeration value="+/-10"/>
laurent@2022: 										<xs:enumeration value="0-10"/>
laurent@2022: 										<xs:enumeration value="0-20"/>
laurent@2022: 										<xs:enumeration value="4-20"/>
laurent@2022: 										<xs:enumeration value="0.1°"/>
laurent@2022: 										<xs:enumeration value="0-10(16)"/>
laurent@2022: 										<xs:enumeration value="0-20(16)"/>
laurent@2022: 										<xs:enumeration value="4-20(16)"/>
laurent@2022: 										<xs:enumeration value="0.01°"/>
laurent@2022: 										<xs:enumeration value="0-5"/>
laurent@2022: 										<xs:enumeration value="0-30"/>
laurent@2022: 										<xs:enumeration value="0-50"/>
laurent@2022: 										<xs:enumeration value="+/-5"/>
laurent@2022: 										<xs:enumeration value="+/-2.5"/>
laurent@2022: 										<xs:enumeration value="+/-100"/>
laurent@2022: 										<xs:enumeration value="0-5(16)"/>
laurent@2022: 										<xs:enumeration value="0-30(16)"/>
laurent@2022: 										<xs:enumeration value="0-50(16)"/>
laurent@2022: 										<xs:enumeration value="+/-75mV"/>
laurent@2022: 									</xs:restriction>
laurent@2022: 								</xs:simpleType>
laurent@2022: 							</xs:attribute>
laurent@2022: 							<xs:attribute name="SwapData" use="optional">
laurent@2022: 								<xs:simpleType>
laurent@2022: 									<xs:restriction base="xs:NMTOKEN">
laurent@2022: 										<xs:enumeration value="Swap_HB_LB"/>
laurent@2022: 										<xs:enumeration value="Swap_HW_LW"/>
laurent@2022: 										<xs:enumeration value="Swap_HB_LB_HW_LW"/>
laurent@2022: 									</xs:restriction>
laurent@2022: 								</xs:simpleType>
laurent@2022: 							</xs:attribute>
laurent@2022: 						</xs:extension>
laurent@2022: 					</xs:simpleContent>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="PdoType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="Index">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:simpleContent>
laurent@2022: 						<xs:extension base="HexDecValue">
laurent@2022: 							<xs:attribute name="DependOnSlot" type="xs:boolean" use="optional"/>
laurent@2022: 							<xs:attribute name="DependOnSlotGroup" type="xs:boolean" use="optional"/>
laurent@2022: 						</xs:extension>
laurent@2022: 					</xs:simpleContent>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Name" type="NameType" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="Exclude" minOccurs="0" maxOccurs="unbounded">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:simpleContent>
laurent@2022: 						<xs:extension base="HexDecValue">
laurent@2022: 							<xs:attribute name="DependOnSlot" type="xs:boolean" use="optional"/>
laurent@2022: 							<xs:attribute name="DependOnSlotGroup" type="xs:boolean" use="optional"/>
laurent@2022: 						</xs:extension>
laurent@2022: 					</xs:simpleContent>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Entry" minOccurs="0" maxOccurs="unbounded">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:complexContent>
laurent@2022: 						<xs:extension base="EntryType">
laurent@2022: 							<xs:attribute name="Fixed" type="xs:boolean" use="optional"/>
laurent@2022: 						</xs:extension>
laurent@2022: 					</xs:complexContent>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="ExcludedSm" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 		</xs:sequence>
laurent@2022: 		<xs:attribute name="Fixed" type="xs:boolean" use="optional"/>
laurent@2022: 		<xs:attribute name="Mandatory" type="xs:boolean" use="optional"/>
laurent@2022: 		<xs:attribute name="Virtual" type="xs:boolean" use="optional"/>
laurent@2022: 		<xs:attribute name="Sm" type="xs:int" use="optional"/>
laurent@2022: 		<xs:attribute name="Su" type="xs:int" use="optional"/>
laurent@2022: 		<xs:attribute name="PdoOrder" type="xs:int" use="optional">
laurent@2022: 			<xs:annotation>
laurent@2022: 				<xs:documentation>obsolete</xs:documentation>
laurent@2022: 			</xs:annotation>
laurent@2022: 		</xs:attribute>
laurent@2022: 		<xs:attribute name="OSFac" type="xs:int" use="optional"/>
laurent@2022: 		<xs:attribute name="OSMin" type="xs:int" use="optional"/>
laurent@2022: 		<xs:attribute name="OSMax" type="xs:int" use="optional"/>
laurent@2022: 		<xs:attribute name="OSIndexInc" type="xs:int" use="optional"/>
laurent@2022: 		<xs:attribute name="OverwrittenByModule" type="xs:boolean" use="optional"/>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="VendorSpecificType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:any namespace="##any" processContents="skip" maxOccurs="unbounded"/>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="ProfileType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="ProfileNo" type="xs:int" minOccurs="0"/>
laurent@2022: 			<xs:element name="AddInfo" type="xs:int" minOccurs="0"/>
laurent@2022: 			<xs:choice minOccurs="0">
laurent@2022: 				<xs:element name="ChannelCount" type="xs:int"/>
laurent@2022: 				<xs:element name="ChannelInfo" maxOccurs="unbounded">
laurent@2022: 					<xs:complexType>
laurent@2022: 						<xs:sequence>
laurent@2022: 							<xs:element name="ProfileNo" type="xs:int"/>
laurent@2022: 							<xs:element name="AddInfo" type="xs:int" minOccurs="0"/>
laurent@2022: 							<xs:element name="DisplayName" type="NameType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 						</xs:sequence>
laurent@2022: 						<xs:attribute name="OverwrittenByModule" type="xs:boolean" use="optional"/>
laurent@2022: 					</xs:complexType>
laurent@2022: 				</xs:element>
laurent@2022: 			</xs:choice>
laurent@2022: 			<xs:choice minOccurs="0">
laurent@2022: 				<xs:element name="DictionaryFile" type="xs:string" minOccurs="0"/>
laurent@2022: 				<xs:element name="Dictionary" type="DictionaryType" minOccurs="0">
laurent@2022: 					<xs:keyref name="ObjectTypesRef" refer="DataTypesKey">
laurent@2022: 						<xs:selector xpath="./Objects/Object"/>
laurent@2022: 						<xs:field xpath="Type"/>
laurent@2022: 					</xs:keyref>
laurent@2022: 					<xs:key name="DataTypesKey">
laurent@2022: 						<xs:selector xpath="./DataTypes/DataType"/>
laurent@2022: 						<xs:field xpath="Name"/>
laurent@2022: 					</xs:key>
laurent@2022: 				</xs:element>
laurent@2022: 			</xs:choice>
laurent@2022: 			<xs:element name="DiagMessages" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:element name="DiagMessage" maxOccurs="unbounded">
laurent@2022: 							<xs:complexType>
laurent@2022: 								<xs:sequence>
laurent@2022: 									<xs:element name="TextId" type="HexDecValue"/>
laurent@2022: 									<xs:element name="MessageText" type="NameType" maxOccurs="unbounded"/>
laurent@2022: 								</xs:sequence>
laurent@2022: 							</xs:complexType>
laurent@2022: 						</xs:element>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="VendorSpecific" type="VendorSpecificType" minOccurs="0"/>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="VendorType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="Id" type="HexDecValue"/>
laurent@2022: 			<xs:element name="Name" type="NameType" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="Comment" type="NameType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="URL" type="NameType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="DescriptionURL" type="xs:string" minOccurs="0"/>
laurent@2022: 			<xs:choice>
laurent@2046: 				<xs:element name="Image16x14" type="xs:string" minOccurs="0">
laurent@2022: 					<xs:annotation>
laurent@2022: 						<xs:documentation>obsolete</xs:documentation>
laurent@2022: 					</xs:annotation>
laurent@2022: 				</xs:element>
laurent@2046: 				<xs:element name="ImageFile16x14" type="xs:string" minOccurs="0"/>
laurent@2046: 				<xs:element name="ImageData16x14" type="xs:hexBinary" minOccurs="0"/>
laurent@2022: 			</xs:choice>
laurent@2022: 			<xs:element name="VendorSpecific" type="VendorSpecificType" minOccurs="0"/>
laurent@2022: 		</xs:sequence>
laurent@2022: 		<xs:attribute name="UniqueName" type="xs:string" use="optional">
laurent@2022: 			<xs:annotation>
laurent@2022: 				<xs:documentation>obsolete</xs:documentation>
laurent@2022: 			</xs:annotation>
laurent@2022: 		</xs:attribute>
laurent@2022: 	</xs:complexType>
laurent@2022: 	<xs:complexType name="ModuleType">
laurent@2022: 		<xs:sequence>
laurent@2022: 			<xs:element name="Type">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:simpleContent>
laurent@2022: 						<xs:extension base="xs:string">
laurent@2022: 							<xs:attribute name="ModuleIdent" type="HexDecValue" use="required"/>
laurent@2022: 							<xs:attribute name="ModuleClass" type="xs:string" use="optional"/>
laurent@2022: 							<xs:attribute name="ModulePdoGroup" type="xs:int" use="optional"/>
laurent@2022: 						</xs:extension>
laurent@2022: 					</xs:simpleContent>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Name" type="NameType" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="RxPdo" type="PdoType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="TxPdo" type="PdoType" minOccurs="0" maxOccurs="unbounded"/>
laurent@2022: 			<xs:element name="SafetyParaMapping" type="PdoType" minOccurs="0"/>
laurent@2022: 			<xs:element name="Mailbox" minOccurs="0">
laurent@2022: 				<xs:complexType>
laurent@2022: 					<xs:sequence>
laurent@2022: 						<xs:element name="CoE" minOccurs="0">
laurent@2022: 							<xs:complexType>
laurent@2022: 								<xs:sequence>
laurent@2022: 									<xs:element name="InitCmd" minOccurs="0" maxOccurs="unbounded">
laurent@2022: 										<xs:complexType>
laurent@2022: 											<xs:sequence>
laurent@2022: 												<xs:element name="Transition" maxOccurs="unbounded">
laurent@2022: 													<xs:simpleType>
laurent@2022: 														<xs:restriction base="xs:NMTOKEN">
laurent@2022: 															<xs:enumeration value="PS"/>
laurent@2022: 															<xs:enumeration value="SO"/>
laurent@2022: 															<xs:enumeration value="SP"/>
laurent@2022: 															<xs:enumeration value="OP"/>
laurent@2022: 															<xs:enumeration value="OS"/>
laurent@2022: 														</xs:restriction>
laurent@2022: 													</xs:simpleType>
laurent@2022: 												</xs:element>
laurent@2022: 												<xs:element name="Index">
laurent@2022: 													<xs:complexType>
laurent@2022: 														<xs:simpleContent>
laurent@2022: 															<xs:extension base="HexDecValue">
laurent@2022: 																<xs:attribute name="DependOnSlot" type="xs:boolean" use="optional"/>
laurent@2022: 																<xs:attribute name="DependOnSlotGroup" type="xs:boolean" use="optional"/>
laurent@2022: 															</xs:extension>
laurent@2022: 														</xs:simpleContent>
laurent@2022: 													</xs:complexType>
laurent@2022: 												</xs:element>
laurent@2022: 												<xs:element name="SubIndex" type="HexDecValue"/>
laurent@2022: 												<xs:element name="Data">
laurent@2022: 													<xs:complexType>
laurent@2022: 														<xs:simpleContent>
laurent@2022: 															<xs:extension base="xs:hexBinary">
laurent@2022: 																<xs:attribute name="AdaptAutomatically" type="xs:boolean" use="optional"/>
laurent@2022: 															</xs:extension>
laurent@2022: 														</xs:simpleContent>
laurent@2022: 													</xs:complexType>
laurent@2022: 												</xs:element>
laurent@2022: 												<xs:element name="Comment" type="xs:string" minOccurs="0"/>
laurent@2022: 											</xs:sequence>
laurent@2022: 											<xs:attribute name="Fixed" type="xs:boolean" use="optional"/>
laurent@2022: 											<xs:attribute name="CompleteAccess" type="xs:boolean" use="optional"/>
laurent@2022: 										</xs:complexType>
laurent@2022: 									</xs:element>
laurent@2022: 								</xs:sequence>
laurent@2022: 								<xs:attribute name="SdoInfo" type="xs:boolean" use="optional"/>
laurent@2022: 								<xs:attribute name="PdoAssign" type="xs:boolean" use="optional"/>
laurent@2022: 								<xs:attribute name="PdoConfig" type="xs:boolean" use="optional"/>
laurent@2022: 								<xs:attribute name="PdoUpload" type="xs:boolean" use="optional"/>
laurent@2022: 								<xs:attribute name="CompleteAccess" type="xs:boolean" use="optional"/>
laurent@2022: 								<xs:attribute name="EdsFile" type="xs:string" use="optional"/>
laurent@2022: 								<xs:attribute name="SegmentedSdo" type="xs:boolean" use="optional"/>
laurent@2022: 								<xs:attribute name="ModuleOD" type="xs:boolean" use="optional"/>
laurent@2022: 							</xs:complexType>
laurent@2022: 						</xs:element>
laurent@2022: 					</xs:sequence>
laurent@2022: 				</xs:complexType>
laurent@2022: 			</xs:element>
laurent@2022: 			<xs:element name="Profile" type="ProfileType" minOccurs="0"/>
laurent@2022: 			<xs:element name="DcOpModeName" type="xs:string" minOccurs="0"/>
laurent@2022: 			<xs:choice minOccurs="0">
laurent@2046: 				<xs:element name="Image16x14" type="xs:string" minOccurs="0">
laurent@2022: 					<xs:annotation>
laurent@2022: 						<xs:documentation>obsolete</xs:documentation>
laurent@2022: 					</xs:annotation>
laurent@2022: 				</xs:element>
laurent@2046: 				<xs:element name="ImageFile16x14" type="xs:string" minOccurs="0"/>
laurent@2046: 				<xs:element name="ImageData16x14" type="xs:hexBinary" minOccurs="0"/>
laurent@2022: 			</xs:choice>
laurent@2022: 			<xs:element name="VendorSpecific" type="VendorSpecificType" minOccurs="0"/>
laurent@2022: 		</xs:sequence>
laurent@2022: 	</xs:complexType>
laurent@2022: </xs:schema>