<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by Vector Employee (Vector Informatik GmbH) -->
<xs:schema xmlns:fx="http://www.asam.net/xml/fbx" xmlns:ho="http://www.asam.net/xml" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.asam.net/xml/fbx" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.0.1">
	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
	<xs:import namespace="http://www.asam.net/xml" schemaLocation="harmonizedObjects.xsd"/>
	<xs:include schemaLocation="fibex4manufacturer.xsd"/>
	<xs:complexType name="ABSOLUTELY-SCHEDULED-TIMING-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity TIMING in the absolutely scheduled peculiarity.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ho:DESC" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SLOT-ID" type="fx:SLOT-ID-TYPE">
				<xs:annotation>
					<xs:documentation>Identifier for the (fixed) slot where the frame described by this timing is sent in the static part of a application cycle. Used as priority for arbitration in the dynamic part of a cycle. Usualy used (with cycleCounter) for frame identification</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice>
				<xs:element name="CYCLE-COUNTER" type="fx:CYCLE-COUNTER-TYPE">
					<xs:annotation>
						<xs:documentation>The communication cycle where the frame described by this timing is sent. If a timing is given in this way the referencing cluster must specify the NUMBER-OF-CYCLES as upper bound and point of total repetition. </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:sequence>
					<xs:element name="BASE-CYCLE" type="fx:CYCLE-COUNTER-TYPE">
						<xs:annotation>
							<xs:documentation>The first communication cycle where the frame described by this timing is sent</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CYCLE-REPETITION" type="fx:CYCLE-REPETITION-TYPE">
						<xs:annotation>
							<xs:documentation>The number of communication cycles (after the frist cycle) whenever the frame described by this timing is sent again</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:choice>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-ABSOLUTELY-SCHEDULED-TIMING-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ACTIVE-CONDITION-TYPE">
		<xs:annotation>
			<xs:documentation>For reusability active conditions content model is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SYSTEM-TRIGGER" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>System state that must rule that the referencing timing is activated. To enable the description of combined states the occurence of SYSTEM-TRIGGER as well as of SYSTEM-STATE is unbounded. Use one trigger with many states, if these states must rule simultaneously (AND related) for activation. Use a separate trigger for each state if only one state needs to rule for activation.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="SYSTEM-STATE" type="fx:ACTIVE-CONDITION-SYSTEM-STATE-TYPE">
							<xs:annotation>
								<xs:documentation>System state that must rule that the referencing timing is activated.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CHANNEL-REFS">
		<xs:annotation>
			<xs:documentation>The channel(s) on which the signal shall be sent.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="fx:CHANNEL-REF" maxOccurs="2"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CHANNEL-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity CHANNEL with platform specific extendability.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="PDU-TRIGGERINGS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Top level element of all PDU-Triggerings on a channel</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="PDU-TRIGGERING" type="fx:PDU-TRIGGERING-TYPE" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>A PDU's send behavior and identification on a certain channel</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="FRAME-TRIGGERINGS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Top level element of all frameTriggerings on a channel</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="FRAME-TRIGGERING" type="fx:FRAME-TRIGGERING-TYPE" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>A frames send behavior and identification on a certain channel</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-CHANNEL-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CLUSTER-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity CLUSTER with platform specific extendability.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="SPEED" type="fx:SPEED-TYPE" default="10000000">
						<xs:annotation>
							<xs:documentation>A channels speed in bits per second</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="IS-HIGH-LOW-BIT-ORDER" type="xs:boolean">
						<xs:annotation>
							<xs:documentation>Indicates whether the significance of the bits (in a byte) is decreasing (value=true) or increasing (value=false) with the time. All frames on this cluster have to be encoded in this bit order. Usually the bit order is fixed with the protocol specification. </xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BIT-COUNTING-POLICY" type="fx:BIT-COUNTING-POLICY"/>
					<xs:element name="PROTOCOL" type="fx:PROTOCOL-TYPE" default="CAN">
						<xs:annotation>
							<xs:documentation>A clusters protocol</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element ref="fx:PROTOCOL-VERSION" minOccurs="0"/>
					<xs:element name="PHYSICAL" type="fx:PHYSICAL-TYPE" minOccurs="0">
						<xs:annotation>
							<xs:documentation>A clusters physical layer</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element ref="fx:PHYSICAL-VERSION" minOccurs="0"/>
					<xs:element name="CHANNEL-REFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Collection of references (foreign keys)</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element ref="fx:CHANNEL-REF" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="MEDIUM" minOccurs="0">
						<xs:annotation>
							<xs:documentation>A clusters medium type</xs:documentation>
						</xs:annotation>
						<xs:simpleType>
							<xs:restriction base="xs:token">
								<xs:enumeration value="ELECTRICAL"/>
								<xs:enumeration value="OPTICAL"/>
								<xs:enumeration value="OTHER"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:element>
					<xs:element name="NUMBER-OF-CYCLES" type="fx:NUMBER-OF-CYCLES-TYPE" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Total number of cycles until a temporal transmission pattern is repeated. The CYCLE-COUNTER of an ABSOLUTELY-SCHEDULED-TIMING is evaluated against this parameter.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MAX-FRAME-LENGTH" type="xs:unsignedInt" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Maximal supported length in bytes for frames in this cluster.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-CLUSTER-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CODING-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity CODING.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element ref="ho:PHYSICAL-TYPE" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Application Type of data.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element ref="ho:CODED-TYPE" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Coded Type of data on communication system.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element ref="ho:COMPU-METHODS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Method to calulate the transmitted value to the physical representation</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-CODING-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CODINGS">
		<xs:annotation>
			<xs:documentation>Top level element of all codings</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="CODING" type="fx:CODING-TYPE" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Predefined encoding of one or more signals</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="COMPOSITE-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity COMPOSITE</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="COMPOSITION-LEVEL" type="fx:COMPOSITION-LEVEL-TYPE" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Describing the level of composition. See e.g. fibex4lin for platform specific restrictions.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:choice minOccurs="0">
						<xs:element name="COMPOSITE-REFS">
							<xs:annotation>
								<xs:documentation>Collection of subordenated composites</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element ref="fx:COMPOSITE-REF" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="PDU-REFS">
							<xs:annotation>
								<xs:documentation>Collection of subordenated PDUs</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element ref="fx:PDU-REF" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Refering a subordenated composite.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="ECU-REFS">
							<xs:annotation>
								<xs:documentation>Collection of subordenated ecus</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element ref="fx:ECU-REF" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Refering a subordenated composite.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="FUNCTION-REFS">
							<xs:annotation>
								<xs:documentation>Collection of subordenated functions</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element ref="fx:FUNCTION-REF" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Refering a subordenated composite.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="SIGNAL-REFS">
							<xs:annotation>
								<xs:documentation>Collection of subordenated signals</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="SIGNAL-REF" type="fx:SIGNAL-REF" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:choice>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-COMPOSITE-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CONNECTOR-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity CONNECTOR with platform specific extendability.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="fx:CHANNEL-REF"/>
			<xs:element ref="fx:CONTROLLER-REF" minOccurs="0"/>
			<xs:element name="INPUTS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An ECUs reception gate on the referenced channel as a collection of signal instances (on this channel) or (in case of using the functional layer) as a collection of referenced functional input ports.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice>
						<xs:element name="INPUT-PORT" type="fx:ECU-PORT-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>An ECUs reception port as a referenced frame, pdu and signal instance.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="OUTPUTS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An ECUs send gate on the referenced channel as a collection of provided frameTriggerings (frames on this channel)</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice>
						<xs:element name="OUTPUT-PORT" type="fx:ECU-PORT-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>An ECUs send port as a referenced frame, pdu and signal instance.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-CONNECTOR-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="CONTROLLER-REFS">
		<xs:annotation>
			<xs:documentation>All controllers (usually a single one) where the referenced port(s) should be located.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="fx:CONTROLLER-REF" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Refering a controller.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CONTROLLER-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity CONTROLLER with platform specific extendability.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:NAMED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="VENDOR-NAME" type="ho:FULL-STRING" minOccurs="0">
						<xs:annotation>
							<xs:documentation>For hardware classification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CHIP-NAME" type="ho:FULL-STRING" minOccurs="0">
						<xs:annotation>
							<xs:documentation>For hardware classification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TERMINATION-IMPEDANCE" type="xs:unsignedLong" minOccurs="0">
						<xs:annotation>
							<xs:documentation>A controllers termination impedance (same on all channels) </xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TRANSCEIVER" type="fx:TRANSCEIVER-TYPE" minOccurs="0">
						<xs:annotation>
							<xs:documentation>A controllers transceiver </xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-CONTROLLER-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CYCLIC-TIMING-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity TIMING in the cyclic peculiarity.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="REPEATING-TIME-RANGE" type="fx:TIME-RANGE-TYPE">
				<xs:annotation>
					<xs:documentation>Specification of the repeating cycle whenever the frame described by this timing is sent</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="STARTING-TIME-RANGE" type="fx:TIME-RANGE-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Specification of the time that is needed before the frame can be sent the first time </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ACTIVE-CONDITION" type="fx:ACTIVE-CONDITION-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Condition that must be fulfiled by the system that the cylce can be started </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="START-CONDITION" type="fx:EXECUTE-CONDITION-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Condition that must be fulfiled by the system or some signals that the cylce is started </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="STOP-CONDITION" type="fx:EXECUTE-CONDITION-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Condition that must be fulfiled by the system or some signals that the cylce is stopped</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="FINAL-REPETITIONS" type="xs:unsignedShort" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Number of repetitions the frame is sent from the moment the stop condition has been met</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ho:DESC" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-CYCLIC-TIMING-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DIAGNOSTIC-ADDRESSES">
		<xs:annotation>
			<xs:documentation>ECU relevant diagnostic addresses</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="RESPONSE-ADDRESS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An ECU specific ID for repsonses of diagnostic routines</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="TP-ADDRESS-REF" type="fx:TP-ADDRESS-REF-BASETYPE"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="TP-ADDRESS-REFS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An ECU relevant diagnostic address of the type given as attribute.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:TP-ADDRESS-REF" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DYNAMIC-PART">
		<xs:annotation>
			<xs:documentation>Switched area of the multiplexer. The content changes dependent on the switch</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:MUX-PART-TYPE">
				<xs:sequence>
					<xs:element name="SWITCHED-PDU-INSTANCES" type="fx:SWITCHED-PDU-INSTANCES"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ECU-PORT-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity PORT in the ECU related peculiarity.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ho:DESC" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="fx:FRAME-TRIGGERING-REF"/>
			<xs:choice>
				<xs:element name="INCLUDED-PDUS">
					<xs:annotation>
						<xs:documentation>Selected PDUs within the referenced FRAME</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="INCLUDED-PDU" type="fx:INCLUDED-PDU-TYPE" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Single PDU within the referenced FRAME</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="COMPLETE-FRAME">
					<xs:annotation>
						<xs:documentation>All PDUs within the FRAME are selected</xs:documentation>
					</xs:annotation>
					<xs:complexType/>
				</xs:element>
			</xs:choice>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-PORT-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="ECU-SENDING-BEHAVIOR-TYPE">
		<xs:annotation>
			<xs:documentation>Describes, which value of the SIGNAL is to be send dependent on the current system state. The value corresponds to the CONSTRS in COMPU-METHOD</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="fx:ECU-SENDING-BEHAVIOR-BASETYPE">
				<xs:attribute name="SYSTEM-STATE">
					<xs:annotation>
						<xs:documentation>Global state of the system</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="CLAMP_15_ON"/>
							<xs:enumeration value="CLAMP_15_OFF"/>
							<xs:enumeration value="CLAMP_30_ON"/>
							<xs:enumeration value="CLAMP_30_OFF"/>
							<xs:enumeration value="CLAMP_87_ON"/>
							<xs:enumeration value="CLAMP_87_OFF"/>
							<xs:enumeration value="CLAMP_RADIO_ON"/>
							<xs:enumeration value="CLAMP_RADIO_OFF"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="ECU-SENDING-BEHAVIORS">
		<xs:annotation>
			<xs:documentation>General sending behavior dependent on various system states</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ECU-SENDING-BEHAVIOR" type="fx:ECU-SENDING-BEHAVIOR-TYPE" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Describes, which value of the SIGNAL is to be send dependent on the current system state. The value can correspond to the CONSTRS in COMPU-METHOD</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ECU-TYPE" abstract="false" final="#all">
		<xs:annotation>
			<xs:documentation>Content model for the entity ECU. Platform-specific extensions are not possible, to maintain the capability to describe multi-platform  networks.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="DIAGNOSTIC-ADDRESSES" type="fx:DIAGNOSTIC-ADDRESSES" minOccurs="0"/>
					<xs:element name="FUNCTION-REFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Collection of references (foreign keys)</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element ref="fx:FUNCTION-REF" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="CONTROLLERS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Top level element of all controllers inside of an ECU</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="CONTROLLER" type="fx:CONTROLLER-TYPE" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Dedicated hardware inside of an ECU realizing its interface to one or more channels</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="CONNECTORS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>All channels controlled by a single controller</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="CONNECTOR" type="fx:CONNECTOR-TYPE" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>The connection between the referencing ECU and the referenced channel via the referenced controller</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-ECU-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ELEMENTS">
		<xs:annotation>
			<xs:documentation>Root of all stand-alone elements</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="CLUSTERS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all clusters</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="CLUSTER" type="fx:CLUSTER-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>In multi-channel systems such as TTP or FlexRay known as 'bus'. To avoid confusion, we decides not to use this term any more.     </xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="CHANNELS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all channels</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="CHANNEL" type="fx:CHANNEL-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>In single-channel systems such as CAN or LIN known as 'bus'. To avoid confusion, we decides not to use this term any more.    </xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="GATEWAYS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all gateways</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="GATEWAY" type="fx:GATEWAY-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>A gateway is a specific ECU translating frames and signals from one channel into another. Further description of gateway behaviour is intended for a later version of FIBEX</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="ECUS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all ECUs</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="ECU" type="fx:ECU-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Electronic Control Unit (sometimes called 'node')</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="PDUS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all PDUs</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="PDU" type="fx:PDU-TYPE" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="FRAMES" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all frames</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="FRAME" type="fx:FRAME-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Smallest piece of information exchanged over the communication system. A frame normally consists of a header and a data (payload) section. The data section contains signals.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="FUNCTIONS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all functions</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="FUNCTION" type="fx:FUNCTION-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Part of the application running in an ECU</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="SIGNALS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all signals</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="SIGNAL" type="fx:SIGNAL-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Smallest logical piece of information exchanged by applications</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="COMPOSITES" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all composite</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="COMPOSITE" type="fx:COMPOSITE-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>A hierarchical structure on functions or ecus.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EVENT-CONTROLLED-TIMING-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity TIMING in the event controlled peculiarity.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="DEBOUNCE-TIME-RANGE" type="fx:TIME-RANGE-TYPE">
				<xs:annotation>
					<xs:documentation>Specification of the time that elapses before the frame can be sent the next time </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ACTIVE-CONDITION" type="fx:ACTIVE-CONDITION-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Condition that must be fulfiled by the system that an event will be registrated </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="SEND-CONDITION" type="fx:EXECUTE-CONDITION-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Condition (Event) that must be fulfiled by the system or some signals to cause the frame to be sent</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="FINAL-REPETITIONS" type="xs:unsignedShort" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Number of repetitions the frame is sent from the moment the send condition has been breached</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ho:DESC" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-EVENT-CONTROLLED-TIMING-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EXECUTE-CONDITION-TYPE">
		<xs:annotation>
			<xs:documentation>For reusability execute conditions content model is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SYSTEM-TRIGGER" type="fx:SYSTEM-TRIGGER" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SIGNAL-TRIGGER" type="fx:SIGNAL-TRIGGER" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FIBEX-COMPANY-DATA">
		<xs:annotation>
			<xs:documentation>Additional data of a company involved in FIBEX project.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ho:COMPANY-DATA-REF"/>
			<xs:element name="LIN-COMPANY-ID" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The LIN-wide unique identification of the referenced company .</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PRODUCTS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Collecting the products or specifications of the referenced company.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PRODUCT" type="fx:PRODUCT-TYPE" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FRAME-TIMINGS">
		<xs:annotation>
			<xs:documentation>Time behavior of a frame specified in a sequence of cluster specific timing types</xs:documentation>
		</xs:annotation>
		<xs:choice maxOccurs="unbounded">
			<xs:element name="RELATIVELY-SCHEDULED-TIMING" type="fx:RELATIVELY-SCHEDULED-TIMING-TYPE">
				<xs:annotation>
					<xs:documentation>Specification of a sending behaviour where the transmission order is predefined, e.g. used on LIN clusters</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ABSOLUTELY-SCHEDULED-TIMING" type="fx:ABSOLUTELY-SCHEDULED-TIMING-TYPE">
				<xs:annotation>
					<xs:documentation>Specification of a sending behaviour where the exact time for the frames transmission is guaranteed, e.g. used on FLEXRAY clusters</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="FRAME-TRIGGERING-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity FRAME-TRIGGERING.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="TIMINGS" type="fx:FRAME-TIMINGS" minOccurs="0"/>
			<xs:element ref="fx:IDENTIFIER" minOccurs="0"/>
			<xs:element ref="fx:FRAME-REF">
				<xs:annotation>
					<xs:documentation>Refering a frame</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-FRAME-TRIGGERING-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="FRAME-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity FRAME. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="BYTE-LENGTH" type="xs:unsignedInt">
						<xs:annotation>
							<xs:documentation>The used length (in bytes)  of the referencing frame. Should not be confused with a static byte length reserved for each frame by some platforms (e.g. FlexRay). See the FIBEX specification for examples.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FRAME-TYPE" type="fx:FRAMETYPE" minOccurs="0"/>
					<xs:element name="PDU-INSTANCES" type="fx:PDU-INSTANCES" minOccurs="0"/>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-FRAME-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FUNC-PORT-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity PORT in the function related peculiarity.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ho:DESC" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SIGNAL-REF" type="fx:SIGNAL-REF"/>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-PORT-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="FUNCTION-INPUT-PORTS">
		<xs:annotation>
			<xs:documentation>A functions reception gate</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="INPUT-PORT" type="fx:FUNC-PORT-TYPE" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>A functions reception gate for the referenced signal </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FUNCTION-OUTPUT-PORTS">
		<xs:annotation>
			<xs:documentation>A functions reception gate</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="OUTPUT-PORT" type="fx:FUNC-PORT-TYPE" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>A functions reception gate for the referenced signal </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FUNCTION-REFS">
		<xs:annotation>
			<xs:documentation>All functions affected by this requirement.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="fx:FUNCTION-REF" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FUNCTION-REQ-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity FUNCTION.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="FUNCTION-REFS" type="fx:FUNCTION-REFS"/>
			<xs:element name="CYCLE-PERIOD" type="fx:TIME-RANGE-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A functions (seen as a task) cycle period. See http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#duration for syntax explanation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CYCLE-OFFSET" type="fx:TIME-RANGE-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A functions (seen as a task) cycle offset from the applications start up. See http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#duration for syntax explanation</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="W-C-E-T" type="fx:TIME-RANGE-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A functions (seen as a task) worst case execution time from the applications start up. See http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#duration for syntax explanation</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DEADLINE" type="fx:TIME-RANGE-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A functions (seen as a task) deadLine for execution. See http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#duration for syntax explanation</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-FUNCTION-REQ-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FUNCTION-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity FUNCTION. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="INPUT-PORTS" type="fx:FUNCTION-INPUT-PORTS" minOccurs="0"/>
					<xs:element name="OUTPUT-PORTS" type="fx:FUNCTION-OUTPUT-PORTS" minOccurs="0"/>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-FUNCTION-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GATEWAY-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity GATEWAY. Platform-specific extensions are not allowed, to maintain the capability to describe multi-platform networks.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element ref="fx:ECU-REF"/>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-GATEWAY-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GENERIC-PDU-INSTANCE-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity PDU-INSTANCE. </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="fx:PDU-REF"/>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-PDU-INSTANCE-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="IDENTIFIER-VALUE-TYPE">
		<xs:annotation>
			<xs:documentation>A frames unique id on a channel. The usage depends on the communication system. E.g. on a CAN or LIN cluster this parameter represents the CAN (resp. LIN) ID in the frames header section. On a FlexRay channel this parameter represents the frames (optional) messageId in the leading word of the frames data part.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:long"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="INCLUDED-PDU-TYPE">
		<xs:annotation>
			<xs:documentation>SIGNALs within a referenced PDU</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="fx:PDU-TRIGGERING-REF"/>
			<xs:choice>
				<xs:element name="INCLUDED-SIGNALS" type="fx:INCLUDED-SIGNALS"/>
				<xs:element name="COMPLETE-PDU">
					<xs:annotation>
						<xs:documentation>All signals within the PDU are selected</xs:documentation>
					</xs:annotation>
					<xs:complexType/>
				</xs:element>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="INCLUDED-SIGNAL-TYPE">
		<xs:annotation>
			<xs:documentation>Selected signal</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="fx:SIGNAL-INSTANCE-REF"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="INCLUDED-SIGNALS">
		<xs:annotation>
			<xs:documentation>Selected SIGNALs within the referenced PDU</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="INCLUDED-SIGNAL" type="fx:INCLUDED-SIGNAL-TYPE" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Single SIGNAL within the referenced PDU</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MULTIPLEXER-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity MULTIPLEXER.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SWITCH" type="fx:SWITCH"/>
			<xs:element name="DYNAMIC-PART" type="fx:DYNAMIC-PART"/>
			<xs:element name="STATIC-PART" type="fx:STATIC-PART" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="EXTENDED-ADDRESSING" type="xs:boolean" use="optional" fixed="true">
			<xs:annotation>
				<xs:documentation>A flag indicating whether the multiplexer is used for extended addressing.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="MUX-PART-TYPE">
		<xs:annotation>
			<xs:documentation>Content model for the entities STATIC-PART and DYNAMIC-PART</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:NAMED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="SEGMENT-POSITIONS" type="fx:SEGMENT-POSITIONS"/>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-MUX-PART-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NAMED-ELEMENT-TYPE" abstract="true">
		<xs:annotation>
			<xs:documentation>Base content model for all ELEMENTS</xs:documentation>
		</xs:annotation>
		<xs:group ref="ho:NAME-DETAILS"/>
		<xs:attribute name="ID" type="xs:ID" use="required"/>
		<xs:attribute ref="ho:OID" use="optional"/>
	</xs:complexType>
	<xs:complexType name="NM-CONFIG-TYPE">
		<xs:annotation>
			<xs:documentation>Extension point for the network management schemata.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ORDERED-SIGNALS">
		<xs:annotation>
			<xs:documentation>Collection of ordered signals</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ORDERED-SIGNAL" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>An ordered signal. A signals order may either be given by the signals index in the referencing collection or explicitly with certain LAYOUT-DETAILS.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:group ref="fx:COMMON-LAYOUT-DETAILS"/>
						<xs:element name="SIGNAL-REF" type="fx:SIGNAL-REF"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PDU-INSTANCE-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity PDU-INSTANCE.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:GENERIC-PDU-INSTANCE-TYPE">
				<xs:sequence>
					<xs:group ref="fx:COMMON-LAYOUT-DETAILS"/>
					<xs:element name="PDU-UPDATE-BIT-POSITION" type="xs:unsignedInt" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Indication to the receivers that the corresponding PDU was updated by the sender. This attribute describes the position of the update bit in the frame that aggregates this PDU-INSTANCE-TYPE. In context of IS-HIGH-LOW-BYTE-ORDER, BIT-COUNTING-POLICY and IS-HIGH-LOW-BIT-ORDER of this PDU-INSTANCE.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PDU-INSTANCES">
		<xs:annotation>
			<xs:documentation>A frames layout as a sequence of PDUs</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PDU-INSTANCE" type="fx:PDU-INSTANCE-TYPE" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>A PDU's location in a PDU</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PDU-REQ-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity PDU-REQUIREMENT</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="fx:ECU-REF" maxOccurs="unbounded"/>
			<xs:choice>
				<xs:element name="OUTPUT" type="fx:PDU-REQ-DIRECTION-TYPE"/>
				<xs:sequence>
					<xs:element name="INPUT" type="fx:PDU-REQ-DIRECTION-TYPE"/>
					<xs:element name="OUTPUT" type="fx:PDU-REQ-DIRECTION-TYPE" minOccurs="0"/>
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PDU-REQ-DIRECTION-TYPE">
		<xs:sequence>
			<xs:element name="PDU-TRIGGERING-REFS">
				<xs:annotation>
					<xs:documentation>List of PDUs belonging to this Requirement</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:PDU-TRIGGERING-REF" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PDU-TIMINGS">
		<xs:annotation>
			<xs:documentation>Time behavior of a PDU specified in a sequence of cluster specific timing types</xs:documentation>
		</xs:annotation>
		<xs:choice maxOccurs="unbounded">
			<xs:element name="CYCLIC-TIMING" type="fx:CYCLIC-TIMING-TYPE">
				<xs:annotation>
					<xs:documentation>Specification of a cyclic sending behaviour, e.g. used on CAN clusters</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="EVENT-CONTROLLED-TIMING" type="fx:EVENT-CONTROLLED-TIMING-TYPE">
				<xs:annotation>
					<xs:documentation>Specification of a event driven sending behaviour, e.g. used on CAN clusters</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="REQUEST-CONTROLLED-TIMING" type="fx:REQUEST-CONTROLLED-TIMING-TYPE">
				<xs:annotation>
					<xs:documentation>Specification of a request driven sending behaviour, e.g. used on CAN clusters</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="PDU-TRIGGERING-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity PDU-TRIGGERING.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="TIMINGS" type="fx:PDU-TIMINGS" minOccurs="0"/>
			<xs:element ref="fx:PDU-REF">
				<xs:annotation>
					<xs:documentation>Refering a frame</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-PDU-TRIGGERING-EXTENSION" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PDU-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity PDU. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="BYTE-LENGTH" type="xs:unsignedInt">
						<xs:annotation>
							<xs:documentation>The used length (in bytes)  of the referencing PDU.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PDU-TYPE" type="fx:PDUTYPE"/>
					<xs:choice minOccurs="0">
						<xs:element name="SIGNAL-INSTANCES" type="fx:SIGNAL-INSTANCES"/>
						<xs:element name="MULTIPLEXER" type="fx:MULTIPLEXER-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Two reserved spaces in a PDU, on one hand used to transport varying signals at the same position, on the other hand used to encode what variation is currently transported</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-PDU-EXTENSION" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PORT-REFS">
		<xs:annotation>
			<xs:documentation>All ports affected by this requirement.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="FUNC-INPUT-PORT-REF" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Refering a functional input.</xs:documentation>
					<xs:documentation>Refering a port (functional input or output or an ECUs input port).</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="FUNC-OUTPUT-PORT-REF" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Refering a functional output port.</xs:documentation>
					<xs:documentation>Refering a port (functional input or output or an ECUs input port).</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="ECU-INPUT-PORT-REF" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Refering an ECUs input port.</xs:documentation>
					<xs:documentation>Refering a port (functional input or output or an ECUs input port).</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="PORT-REQ-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity PORT-REQUIREMENT</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PORT-REFS" type="fx:PORT-REFS"/>
			<xs:element name="CHANNEL-REFS" type="fx:CHANNEL-REFS" minOccurs="0"/>
			<xs:element name="CONTROLLER-REFS" type="fx:CONTROLLER-REFS" minOccurs="0"/>
			<xs:element name="MAX-AGE" type="fx:TIME-RANGE-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The upper bound on the refresh period of the signal in the referenced port. See http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#duration for syntax explanation</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GENERATION-TYPE" type="fx:GENERATION-TYPE" minOccurs="0"/>
			<xs:element name="CYCLE-PERIOD" type="fx:TIME-RANGE-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The required cycle period of the signal in the referenced port. See http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#duration for syntax explanation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CYCLE-OFFSET" type="fx:TIME-RANGE-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The required cycle offset from the applications start up of the signal in the referenced port. See http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#duration for syntax explanation</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="REDUNDANCY-LVL" type="xs:unsignedShort" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicating the number of redundant transmissions for one signal</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-PORT-REQ-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PROCESSING-INFORMATION">
		<xs:annotation>
			<xs:documentation>Data needed to process data in elements.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ho:UNIT-SPEC" minOccurs="0"/>
			<xs:element name="CODINGS" type="fx:CODINGS" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PRODUCT-TYPE">
		<xs:annotation>
			<xs:documentation>Describing a product or specification of the referenced company.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:NAMED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="ID" type="xs:integer">
						<xs:annotation>
							<xs:documentation>The product id. Especially used for a LIN slaves company specific (function-) id and a LIN frames company specific frame id. The id has to be unique inside of each company.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="VARIANT" type="xs:short" minOccurs="0">
						<xs:annotation>
							<xs:documentation>The product variant. Especially used to identify a LIN slaves variant.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PROJECT-TYPE" abstract="false" final="#all">
		<xs:annotation>
			<xs:documentation>Content model for the entity PROJECT. Platform-specific extensions are not possible, to maintain the capability to describe multi-platform networks.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:NAMED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element ref="fx:EXTENT" minOccurs="0"/>
					<xs:element ref="ho:ADMIN-DATA" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Containing document management information</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element ref="ho:COMPANIES-DATA" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Collecting the companies involved in project</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FIBEX-COMPANIES-DATA" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Replenishing the companies involved in FIBEX project.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="FIBEX-COMPANY-DATA" type="fx:FIBEX-COMPANY-DATA" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-PROJECT-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PROTOCOLS">
		<xs:annotation>
			<xs:documentation>Root of all higher level protocol elements</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="NM-CONFIGS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element for all used network management configurations</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="NM-CONFIG" type="fx:NM-CONFIG-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Configuration of the network management protocol</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="TP-CONFIGS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element for all used transport layers</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="fx:EXTENT" minOccurs="0"/>
						<xs:element name="TP-CONFIG" type="fx:TP-CONFIG-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Configuration of a transport layer protocol</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RELATIVELY-SCHEDULED-TIMING-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity TIMING in the relatively scheduled peculiarity.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ho:DESC" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SCHEDULE-TABLE-NAME" type="xs:token">
				<xs:annotation>
					<xs:documentation>Identifier of the schedule table containing the frame described by the referencing timing on the triggering channel</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="POSITION-IN-TABLE" type="xs:short">
				<xs:annotation>
					<xs:documentation>Relative position of the frame described by this timing in the schedule table</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DELAY" type="xs:duration">
				<xs:annotation>
					<xs:documentation>Relative delay of the frame described by this timing to its predescessor in the schedule table</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-RELATIVELY-SCHEDULED-TIMING-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="REQUEST-CONTROLLED-TIMING-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity TIMING in the request controlled peculiarity.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="RESPONSE-TIME-RANGE" type="fx:TIME-RANGE-TYPE">
				<xs:annotation>
					<xs:documentation>Specification of the time that is needed before the frame can be sent after the requests arrival</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ACTIVE-CONDITION" type="fx:ACTIVE-CONDITION-TYPE" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Condition that must be fulfiled by the system that a request will be registrated </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="FINAL-REPETITIONS" type="xs:unsignedShort" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Number of repetitions the frame is sent for a single request</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ho:DESC" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-REQUEST-CONTROLLED-TIMING-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="REQUIREMENTS">
		<xs:annotation>
			<xs:documentation>Root of all requirements</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PORT-REQS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of port-specific requirements on the frequency and quality of signals</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PORT-REQ" type="fx:PORT-REQ-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Port-specific requirement on the frequency and quality of a signal</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="FUNCTION-REQS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of requirements on the activity of functions (seen as tasks)</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="FUNCTION-REQ" type="fx:FUNCTION-REQ-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Requirement  on the activity of a function (seen as a task)</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="SIGNAL-GROUPS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of all signal groups</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="SIGNAL-GROUP" type="fx:SIGNAL-GROUP-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The referenced signals must always be kept together in a common frame. In a LIN cluster signal groups are used to rebind a signal that had to be split in parts of at most 16 bits.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="PDU-REQS" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Top level element of PDU-specific requirements on the frequency and quality of signals</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PDU-REQ" type="fx:PDU-REQ-TYPE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>PDU-specific requirement on the frequency and quality of a signal</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="REVISED-ELEMENT-TYPE" abstract="true">
		<xs:annotation>
			<xs:documentation>Base content model for all ELEMENTS</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:NAMED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="ELEMENT-REVISIONS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Containing an elements change history</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="ELEMENT-REVISION" type="ho:REVISION-TYPE" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Describing an elements state</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="PRODUCT-REF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Refering a product. Especially used to determine a LIN-slaves or frames company specific id.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SEGMENT-POSITIONS">
		<xs:annotation>
			<xs:documentation>Fragment positions of the enclosing multiplexer part (PDU)</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SEGMENT-POSITION">
				<xs:annotation>
					<xs:documentation>Position and length of a fragment of the PDU</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:group ref="fx:COMMON-LAYOUT-DETAILS"/>
						<xs:element ref="ho:BIT-LENGTH"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SIGNAL-GROUP-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity SIGNAL-GROUP</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element ref="ho:BIT-LENGTH" minOccurs="0"/>
					<xs:element ref="fx:IDENTIFIER" minOccurs="0"/>
					<xs:element name="ORDERED-SIGNALS" type="fx:ORDERED-SIGNALS" minOccurs="0"/>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-SIGNAL-GROUP-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SIGNAL-INSTANCE-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity SIGNAL-INSTANCE</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:group ref="fx:COMMON-LAYOUT-DETAILS"/>
			<xs:sequence>
				<xs:element name="SIGNAL-REF" type="fx:SIGNAL-REF"/>
				<xs:element name="SIGNAL-UPDATE-BIT-POSITION" type="xs:unsignedInt" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Indicates to the receivers that the signal was updated by the sender. This attribute describes the position of the update bit within the PDU. In context of IS-HIGH-LOW-BYTE-ORDER, BIT-COUNTING-POLICY and IS-HIGH-LOW-BIT-ORDER of this SIGNAL-INSTANCE.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
			<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-SIGNAL-INSTANCE-EXTENSION" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SIGNAL-INSTANCES">
		<xs:annotation>
			<xs:documentation>A PDUs layout as a sequence of Signal-Instances</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SIGNAL-INSTANCE" type="fx:SIGNAL-INSTANCE-TYPE" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>A signals location in a PDU</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SIGNAL-REF">
		<xs:annotation>
			<xs:documentation>Refering a signal</xs:documentation>
		</xs:annotation>
		<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
	</xs:complexType>
	<xs:element name="SIGNAL-REF">
		<xs:annotation>
			<xs:documentation>Refering a signal</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="SIGNAL-TRIGGER">
		<xs:annotation>
			<xs:documentation>Signal state that must rule that the referencing timing is executed. To enable the description of combined tirggers the occurence of SIGNAL-TRIGGER as well as of SIGNAL-STATE combined with SIGNAL-INSTANCE-REF is unbounded. Use one trigger with many states, if these states must rule simultaneously (AND related) for execution. Use a separate trigger for each state if only one state needs to rule for execution.</xs:documentation>
		</xs:annotation>
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="SIGNAL-STATE" type="fx:EXECUTE-CONDITION-SIGNAL-STATE-TYPE">
				<xs:annotation>
					<xs:documentation>Signal state that must rule that the referencing timing is started or stoped.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="fx:SIGNAL-INSTANCE-REF"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SIGNAL-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>Content model for the entity SIGNAL. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="DEFAULT-VALUE" minOccurs="0">
						<xs:annotation>
							<xs:documentation>A signals encoded value (internal) indicating that the actual value is currently not published / not of interest</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:simpleContent>
								<xs:extension base="xs:double"/>
							</xs:simpleContent>
						</xs:complexType>
					</xs:element>
					<xs:element name="CODING-REF">
						<xs:annotation>
							<xs:documentation>Refering a signal coding</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
						</xs:complexType>
					</xs:element>
					<xs:element name="SIGNAL-TYPE" type="fx:SIGNAL-TYPE-TYPE" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Category of the signal</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PRIORITY" type="xs:positiveInteger" minOccurs="0">
						<xs:annotation>
							<xs:documentation>A positive integer indicating the signals priority. 1 means highest priority.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ECU-SENDING-BEHAVIORS" type="fx:ECU-SENDING-BEHAVIORS" minOccurs="0"/>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-SIGNAL-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SIGNAL-TYPE-TYPE">
		<xs:annotation>
			<xs:documentation>General category (type) of a SIGNAL</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="TYPE" type="fx:TYPE-TYPE"/>
			<xs:element name="METHOD" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Method used to calculate the content of the signal (e.g. CRC16 for TYPE=CHECKSUM)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ATTRIBUTES" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Additional values for METHOD used for the calculation as key-value pairs</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ATTRIBUTE" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Additional value for METHOD used for the calculation (e.g. starting value (denominator) for TYPE=CHECKSUM)</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="name" type="xs:string"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="STATIC-PART">
		<xs:annotation>
			<xs:documentation>Static part of the multiplexer. This part is independent of the switch value</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:MUX-PART-TYPE">
				<xs:sequence>
					<xs:element name="STATIC-PDU-INSTANCE" type="fx:GENERIC-PDU-INSTANCE-TYPE">
						<xs:annotation>
							<xs:documentation>A PDU's location in the Multiplexer</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SWITCH">
		<xs:annotation>
			<xs:documentation>Reserved space in a PDU, used to encode what variation of signals is currently transported at the position given by the corresponding dynamic part</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:NAMED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:group ref="fx:COMMON-LAYOUT-DETAILS"/>
					<xs:element ref="ho:BIT-LENGTH"/>
					<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-SWITCH-EXTENSION" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reserved space providing schema extendibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SWITCHED-PDU-INSTANCES">
		<xs:annotation>
			<xs:documentation>List of all possible PDUs</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SWITCHED-PDU-INSTANCE" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Single PDU which is transmitted with the given value of the switch</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="fx:GENERIC-PDU-INSTANCE-TYPE">
							<xs:sequence>
								<xs:element name="SWITCH-CODE" type="xs:unsignedLong">
									<xs:annotation>
										<xs:documentation>A switchs value implying a variation of signals that is in a PDU</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SYSTEM-TRIGGER">
		<xs:annotation>
			<xs:documentation>System state that must rule that the referencing timing is executed. To enable the description of combined states the occurence of SYSTEM-TRIGGER as well as of SYSTEM-STATE is unbounded. Use one trigger with many states, if these states must rule simultaneously (AND related) for execution. Use a separate trigger for each state if only one state needs to rule for execution.</xs:documentation>
		</xs:annotation>
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="SYSTEM-STATE" type="fx:EXECUTE-CONDITION-SYSTEM-STATE-TYPE">
				<xs:annotation>
					<xs:documentation>System state that must rule that the referencing timing is started or stoped.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TIME-RANGE-TYPE" abstract="false">
		<xs:annotation>
			<xs:documentation>For reusability time ranges content model is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="VALUE" type="xs:duration">
				<xs:annotation>
					<xs:documentation>Average value of a date</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TOLERANCE" type="fx:TOLERANCE" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TOLERANCE">
		<xs:annotation>
			<xs:documentation>Maximum allowable deviation</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="MIN-VALUE" type="xs:duration">
				<xs:annotation>
					<xs:documentation>Minimum allowable value</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MAX-VALUE" type="xs:duration">
				<xs:annotation>
					<xs:documentation>Maximum allowable value</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TP-ADDRESS-TYPE">
		<xs:annotation>
			<xs:documentation>tbd</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:unsignedLong">
				<xs:attribute name="ID" type="xs:ID" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="TP-ADDRESS-REF-BASETYPE">
		<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
	</xs:complexType>
	<xs:complexType name="TP-CONFIG-TYPE">
		<xs:annotation>
			<xs:documentation>Extension point for the transport layer schemata.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fx:REVISED-ELEMENT-TYPE">
				<xs:sequence>
					<xs:element name="TP-ADDRESSES">
						<xs:annotation>
							<xs:documentation>Transport Layer Addresses</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="TP-ADDRESS" type="fx:TP-ADDRESS-TYPE" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="BIT-POSITION" type="xs:unsignedShort">
		<xs:annotation>
			<xs:documentation>A signal's/PDU's bit position relatively to the beginning of the containing element (i.e., PDU/FRAME/SIGNAL-GROUP)</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="BYTE-VALUE">
		<xs:annotation>
			<xs:documentation>The integer value of a freely defined data byte.</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
			<xs:restriction base="xs:unsignedShort">
				<xs:maxInclusive value="255"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="CHANNEL-REF">
		<xs:annotation>
			<xs:documentation>Refering a channel</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="COMPOSITE-REF">
		<xs:annotation>
			<xs:documentation>Refering a composite.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="CONNECTOR-REF">
		<xs:annotation>
			<xs:documentation>Refering a connector</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="CONTROLLER-REF">
		<xs:annotation>
			<xs:documentation>Refering a controller</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="CLUSTER-REF">
		<xs:annotation>
			<xs:documentation>Refering a cluster</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="ECU-REF">
		<xs:annotation>
			<xs:documentation>Refering an ECU </xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="EXTENT">
		<xs:annotation>
			<xs:documentation>Describing the exported extent of elements from the referenced project in this file</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="ho:LONG-STRING">
					<xs:attribute name="FULL" type="xs:boolean"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="FIBEX">
		<xs:annotation>
			<xs:documentation>Root element</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="PROJECT" type="fx:PROJECT-TYPE">
					<xs:annotation>
						<xs:documentation>The project/vehicle described in the referencing file</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="PROTOCOLS" type="fx:PROTOCOLS" minOccurs="0"/>
				<xs:element name="ELEMENTS" type="fx:ELEMENTS"/>
				<xs:element name="PROCESSING-INFORMATION" type="fx:PROCESSING-INFORMATION" minOccurs="0"/>
				<xs:element name="REQUIREMENTS" type="fx:REQUIREMENTS" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="VERSION" type="fx:VERSION-TYPE" use="required">
				<xs:annotation>
					<xs:documentation>To identify the schemas version that should be applied on the referencing file. Note that this value is fixed on the current schema version to avoid confusion checking old FIBEX instances against a new FIBEX schema or oposite.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="FRAME-REF">
		<xs:annotation>
			<xs:documentation>Refering a frame</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="FRAME-TRIGGERING-REF">
		<xs:annotation>
			<xs:documentation>Refering a frameTriggering</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="FUNCTION-REF">
		<xs:annotation>
			<xs:documentation>Refering a function</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="IDENTIFIER">
		<xs:annotation>
			<xs:documentation>To describe a frames identifier on the communication system, usualy with a fixed identifierValue.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice>
				<xs:element name="IDENTIFIER-VALUE" type="fx:IDENTIFIER-VALUE-TYPE"/>
				<xs:element name="MANUFACTURER-EXTENSION" type="fx:MANUFACTURER-IDENTIFIER-EXTENSION" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Manufacturers may mark up here alternative identification strategies instead of exporting a fixed identifier value</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<xs:element name="PDU-REF">
		<xs:annotation>
			<xs:documentation>Refering a PDU</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="PDU-TRIGGERING-REF">
		<xs:annotation>
			<xs:documentation>Refering a PDU-Triggering</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="PHYSICAL-VERSION" type="fx:PHYSICAL-VERSION-TYPE">
		<xs:annotation>
			<xs:documentation>Version specifier for a electrical physical layer</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="PROTOCOL-VERSION" type="fx:PROTOCOL-VERSION-TYPE">
		<xs:annotation>
			<xs:documentation>Version specifier for a communication protocol</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="SIGNAL-INSTANCE-REF">
		<xs:annotation>
			<xs:documentation>Refering a signal instance</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ID-REF" type="xs:IDREF" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="TP-ADDRESS-REF">
		<xs:annotation>
			<xs:documentation>Refering a TP address</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="fx:TP-ADDRESS-REF-BASETYPE">
					<xs:attribute name="ADDRESSING" use="required">
						<xs:annotation>
							<xs:documentation>An ECU relevant diagnostic address of the type given as attribute. </xs:documentation>
						</xs:annotation>
						<xs:simpleType>
							<xs:restriction base="xs:token">
								<xs:enumeration value="PHYSICAL"/>
								<xs:enumeration value="FUNCTIONAL"/>
								<xs:enumeration value="TESTER"/>
								<xs:enumeration value="OTHER"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:group name="COMMON-LAYOUT-DETAILS">
		<xs:annotation>
			<xs:documentation>Common attributes to describe a certain data section in a frame</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:sequence>
				<xs:element ref="fx:BIT-POSITION"/>
				<xs:element name="IS-HIGH-LOW-BYTE-ORDER" type="xs:boolean">
					<xs:annotation>
						<xs:documentation>Indicates whether the significance of the bytes (in a signal) is decreasing or increasing with the time. A signal with a decreasing byte order (value=true) is usually called a Big endian, a signal with a increasing byte order (value=false) a Little endian. </xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
			<xs:element name="SEQUENCE-NUMBER" type="xs:unsignedShort">
				<xs:annotation>
					<xs:documentation>A signals ordered position relatively to the beginning of the containing element (i.e., PDU/FRAME/SIGNAL-GROUP)</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
	</xs:group>
	<xs:simpleType name="ACTIVE-CONDITION-SYSTEM-STATE-TYPE">
		<xs:annotation>
			<xs:documentation>This type provides all agreed active conditions (for a trigger) as an enumeration.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="CHANNEL_ACTIVE"/>
			<xs:enumeration value="CLAMP_15"/>
			<xs:enumeration value="CLAMP_30"/>
			<xs:enumeration value="CLAMP_87"/>
			<xs:enumeration value="CLAMP_RADIO"/>
			<xs:enumeration value="NONE"/>
			<xs:enumeration value="OTHER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BIT-COUNTING-POLICY">
		<xs:annotation>
			<xs:documentation>Two counting policies have been established. We will call them monotone and sawtooth counting. While monotone counting is strictly geared to the time axis, sawtooth counting inside of a byte is in diametrical opposition to the time. The bits of all frames on this cluster are counted in this way.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="MONOTONE"/>
			<xs:enumeration value="SAWTOOTH"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="COMPOSITION-LEVEL-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability a composition level is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="ho:FULL-STRING"/>
	</xs:simpleType>
	<xs:simpleType name="CYCLE-COUNTER-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability a cycle counter is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:short"/>
	</xs:simpleType>
	<xs:simpleType name="CYCLE-REPETITION-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability a cycle repetition is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:short"/>
	</xs:simpleType>
	<xs:simpleType name="DIRECTION-TYPE">
		<xs:annotation>
			<xs:documentation>Content model for the entity DIRECTION</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="INPUT"/>
			<xs:enumeration value="OUTPUT"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ECU-SENDING-BEHAVIOR-BASETYPE">
		<xs:annotation>
			<xs:documentation>Base type for ECU-SENDING-BEHAVIOR-TYPE (XML schema does not allow a restriction with enumerations together with extension for an attribute)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="ERROR"/>
			<xs:enumeration value="DEFAULT"/>
			<xs:enumeration value="LAST-VALUE"/>
			<xs:enumeration value="NOT-AVAILABLE"/>
			<xs:enumeration value="NOT-DEFINED"/>
			<xs:enumeration value="NOT-VALID"/>
			<xs:enumeration value="OTHER"/>
			<xs:enumeration value="VALID"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="EXECUTE-CONDITION-SIGNAL-STATE-TYPE">
		<xs:annotation>
			<xs:documentation>This type provides all agreed signal triggers as an enumeration.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="VALUE_CHANGED"/>
			<xs:enumeration value="VALUE_NOT_CHANGED"/>
			<xs:enumeration value="VALUE_DEFAULT"/>
			<xs:enumeration value="VALUE_NOT_DEFAULT"/>
			<xs:enumeration value="OTHER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="EXECUTE-CONDITION-SYSTEM-STATE-TYPE">
		<xs:annotation>
			<xs:documentation>This type provides all agreed start or stop or send conditions (for a trigger) as an enumeration.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="CHANNEL_ACTIVE_ON"/>
			<xs:enumeration value="CHANNEL_ACTIVE_OFF"/>
			<xs:enumeration value="CLAMP_15_ON"/>
			<xs:enumeration value="CLAMP_15_OFF"/>
			<xs:enumeration value="CLAMP_30_ON"/>
			<xs:enumeration value="CLAMP_30_OFF"/>
			<xs:enumeration value="CLAMP_87_ON"/>
			<xs:enumeration value="CLAMP_87_OFF"/>
			<xs:enumeration value="CLAMP_RADIO_ON"/>
			<xs:enumeration value="CLAMP_RADIO_OFF"/>
			<xs:enumeration value="KEY_PRESSED"/>
			<xs:enumeration value="KEY_RELEASED"/>
			<xs:enumeration value="NO_OTHER_TRIGGERING_RUNNING"/>
			<xs:enumeration value="OTHER_TRIGGERING_RUNNING"/>
			<xs:enumeration value="NONE"/>
			<xs:enumeration value="OTHER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FRAMETYPE">
		<xs:annotation>
			<xs:documentation>To distinguish application frames from certain services</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="APPLICATION"/>
			<xs:enumeration value="BAP"/>
			<xs:enumeration value="DIAG-REQUEST"/>
			<xs:enumeration value="DIAG-RESPONSE"/>
			<xs:enumeration value="DIAG-STATE"/>
			<xs:enumeration value="NM"/>
			<xs:enumeration value="OTHER"/>
			<xs:enumeration value="SERVICE"/>
			<xs:enumeration value="TPL"/>
			<xs:enumeration value="XCP_PRE_CONFIGURED"/>
			<xs:enumeration value="XCP_RUNTIME_CONFIGURED"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="GENERATION-TYPE">
		<xs:annotation>
			<xs:documentation>Describing how  the signal should/can be generated.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="CYCLIC"/>
			<xs:enumeration value="SPORADIC"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="NUMBER-OF-CYCLES-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability the number of cycles is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="fx:CYCLE-COUNTER-TYPE">
			<xs:minInclusive value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PDUTYPE">
		<xs:annotation>
			<xs:documentation>To distinguish application data from certain services</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="APPLICATION"/>
			<xs:enumeration value="BAP"/>
			<xs:enumeration value="DIAG-REQUEST"/>
			<xs:enumeration value="DIAG-RESPONSE"/>
			<xs:enumeration value="DIAG-STATE"/>
			<xs:enumeration value="NM"/>
			<xs:enumeration value="OTHER"/>
			<xs:enumeration value="SERVICE"/>
			<xs:enumeration value="TPL"/>
			<xs:enumeration value="XCP_PRE_CONFIGURED"/>
			<xs:enumeration value="XCP_RUNTIME_CONFIGURED"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PHYSICAL-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability a physical layer is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PHYSICAL-VERSION-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability a composition level is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="ho:SHORT-STRING"/>
	</xs:simpleType>
	<xs:simpleType name="PROTOCOL-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability a protocol is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PROTOCOL-VERSION-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability a composition level is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="ho:SHORT-STRING"/>
	</xs:simpleType>
	<xs:simpleType name="SLOT-ID-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability a slot id is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer"/>
	</xs:simpleType>
	<xs:simpleType name="SPEED-TYPE">
		<xs:annotation>
			<xs:documentation>A channels speed in bits per second</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:unsignedLong"/>
	</xs:simpleType>
	<xs:simpleType name="TRANSCEIVER-TYPE">
		<xs:annotation>
			<xs:documentation>For platform specific restrictability a transceiver is specified using a type definition.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="ho:FULL-STRING"/>
	</xs:simpleType>
	<xs:simpleType name="TYPE-TYPE">
		<xs:annotation>
			<xs:documentation>General purpose of the signal</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="RESPONSE-ERROR"/>
			<xs:enumeration value="REQUEST"/>
			<xs:enumeration value="ALIVE-COUNTER"/>
			<xs:enumeration value="CHECKSUM"/>
			<xs:enumeration value="OTHER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="VERSION-TYPE">
		<xs:restriction base="ho:VERSION-LABEL-TYPE">
			<xs:enumeration value="3.0.0"/>
			<xs:enumeration value="3.1.0"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
