<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is provided under the terms of the MIT license reproduced here.
Copyright © 2021 prostep ivip association
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->

<xs:schema xmlns:vec="http://www.prostep.org/ecad-if/2011/vec" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.prostep.org/ecad-if/2011/vec" version="1.1.3">
	<xs:element name="VecContent" type="vec:VecContent"/>
	<xs:complexType name="AbrasionResistanceClass">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the definition of an abrasion resistance class. The abrasion resistance class of a component is specified as a level of resistance against abrasion. The level is specified by the ClassKey. Valid keys are specified by the reference system.</p>
				<p>Attributes of the type AbrasionResistanceClass normally have the multiplicity [0..*]. This means that such an attribute can have AbrasionResistanceClass entries for different ReferenceSystems. It must not have multiple entries for the same reference system.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ClassKey" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies a key for the level defined in the abrasion resistance class (e.g. A, B, C).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ReferenceSystem" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the abrasion resistance class reference system, which is defining possible values and the semantic of abrasion resistance keys.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="AbstractLocalizedString" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">Abstract super-class for Localized text values.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="LanguageCode" type="vec:LanguageCode">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>References the corresponding languageCode of the value.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Value" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The value of the LocalizedString in language defined by the languageCode.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="AbstractSlot" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An<i>AbstractSlot</i>is a geometrical place in a connector housing, which can contain / group cavities. This can be either direct, if it is<i>Slot</i>and indirect if it is a<i>ModularSlot</i>.</p>
				<p>If it is a<i>Slot</i>, than it is an inseparable part of the connector housing, which means it is created during the manufacturing process of the connector housing.</p>
				<p>If it is a<i>ModularSlot</i>it is a place where one or more other connector housing can be place during the assembly.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="SlotNumber" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the number of the slot. This must be unique within a ConnectorHousingSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SlotSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the SlotSpecification that is satisfied by the slot.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Coding" type="vec:Coding" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Defines coding of the slot that is satisfied by the Slot.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AbstractSlotReference" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An<i>AbstractSlotReference</i>represents the usage of an AbstractSlot in the context of PartUsage or PartOccurrence.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the SlotReference. The identification is guaranteed to be unique within the ConnectorHousingRole. The cavity &amp; slot number is defined by the associated cavity and slot.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedSlot" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">Points to the slot referenced by the slot reference.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AliasIdentification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Class for the definition of alias identifications. Alias identifications are additional identifications for VEC-elements, which are valid in a certain scope (e.g. PPS-ID's).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="IdentificationValue" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the identification value.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Scope" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The scope in which the AliasIdentification is valid.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>On optional human readable description of the AliasIdentification.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="AntennaSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification of the electrological aspects of an antenna.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="FMin" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the minimum operating frequency of the antenna.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FMax" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the maximum operating frequency of the antenna.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Impedance" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the impedance of the antenna.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Approval">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the approval of an ItemVersion. This consists of the StatusOfApproval and the Permissions issued for the approval.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the approval. The identification is guaranteed to be unique over all VEC-documents. Normally this would reference to a company specific approval number or something similar. KBLFRM-349</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional information about the item.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CompanyInScope" type="xs:string" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room to specify for which companies the Approval is valid. It might be e.g. that an approved Item may only be delivered by some specific company.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Status" type="vec:StatusOfApproval">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The approval level concerning approval status. Predefined are the values: NotYetApproved, Approved and Withdrawn. KBLFRM-349</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LevelOfApproval" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Describes activities that can be started after release for example building pilot tools or production tools.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Permission" type="vec:Permission" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the permission issued with the approval.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BSplineCurve">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type.</p>
				<p>Within the Harness Engineering Information Model the definition has been restricted to a uniform B_spline_curve, where the knots are evenly spaced. Suitable default values for the knots and knot multiplicities are derived in this case. A B-spline is uniform if and only if all knots are of multiplicity 1 and they differ by a positive constant from the preceding knot. In this case the knot spacing is 1.0, starting at -d, where d is the degree.</p>
				<p>Note: If the B-spline curve is uniform and degree=1, the B-spline is equivalent to a polyline.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Degree" type="xs:integer">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The algebraic degree of the basis functions.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ControlPoint" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">The list of control points for the curve. The list shall contain at least 2 elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BatterySpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification of the electrological aspects of a battery.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="U" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the nominal voltage of the battery.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="I" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the current the battery provides.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ICool" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the battery's current in cool state.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Capacity" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the power capacity of the battery.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BoltMountedFixingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for fixings that are mounted onto a bolt. This means, the fixing itself has got a hole, which is mounted into a bolt.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:FixingSpecification">
				<xs:sequence>
					<xs:element name="BoltType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the bolt on which the fixing can be mounted. Appropriate values should be defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BoltDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the diameter of the bolt on which the fixing can be mounted.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BoltHeight" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the height of the bolt on which the fixing can be mounted.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BooleanValueProperty">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A custom property with a boolean value.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="xs:boolean">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the value of the CustomProperty.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BoundingBox">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The bounding box is used to define a cuboid (box) that can contain a described part completely. Therefore it is a simplified representation of the bounding volume and represents a definition of the maximum volume occupied by the part.</p>
				<p>It is valid to use the<i>BoundingBox</i>to describe the dimensions of a component, even if not all dimensions are known (e.g. only length and width). However, it must be possible to transform such a partial bounding box into a complete bounding box by adding the missing dimensions.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="X" type="vec:NumericalValue" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en"/>
				</xs:annotation>
			</xs:element>
			<xs:element name="Y" type="vec:NumericalValue" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<i/>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Z" type="vec:NumericalValue" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<i>z</i>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="BuildingBlockPositioning2D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the position of a BuildingBlock2D on a HarnessDrawing.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Referenced2DBuildingBlock" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the building block which is placed on the harness drawing.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CenterPoint" type="vec:CartesianPoint2D" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the center point of the BuildingBlock in the coordinate system of the harness drawing.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BuildingBlockPositioning3D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the position of a BuildingBlock3D in the HarnessGeometry.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Referenced3DBuildingBlock" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the building block that is positioned.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Positioning" type="vec:Transformation3D" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the positioning of the building block in the harness geometry.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BuildingBlockSpecification2D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of a two dimensional building block. A building block is a reusable section of a geometry.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="BaseUnit" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="BoundingBox" type="vec:CartesianDimension">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the size of the area described by the BuildingBlockSpecification2D in Cartesian dimensions.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CartesianPoint" type="vec:CartesianPoint2D" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the CartesianPoint2Ds that are used in the BuildingBlockSpecification2D.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GeometryNode" type="vec:GeometryNode2D" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the GeometryNode2Ds defined by the BuildingBlockSpecification2D.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GeometrySegment" type="vec:GeometrySegment2D" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the GeometrySegment2Ds defined by the BuildingBlockSpecification2D.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacedElementViewItem" type="vec:OccurrenceOrUsageViewItem2D" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the view items for OccurrenceOrUsages on a BuildingBlockSpecification2D.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BuildingBlockSpecification3D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of a three dimensional building block. A building block is a reusable section of a geometry.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Zone" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Zone that is building block describes.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BaseUnit" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="CartesianPoint" type="vec:CartesianPoint3D" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the CartesianPoint3Ds that are used in the BuildingBlockSpecification3D.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GeometryNode" type="vec:GeometryNode3D" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the GeometryNode3Ds defined by the BuildingBlockSpecification3D.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GeometrySegment" type="vec:GeometrySegment3D" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the GeometrySegment3Ds defined by the BuildingBlockSpecification3D.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacedElementViewItem3D" type="vec:OccurrenceOrUsageViewItem3D" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the view items for OccurrenceOrUsages in a BuildingBlockSpecification3D.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableDuctOutlet">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies one outlet of the cableduct.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the identification of the Outlet. This must be unique within a CableDuctSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>PlacementPoint</i>that represents this<i>CableDuctOutlet</i>in a PlaceableElementSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableDuctRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>CableDuctRole</i>defines the instance specific properties and relationships of a cable duct.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="CableDuctSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>CableDuctSpecification</i>that is instanced by this<i>CableDuctRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableDuctSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for cable ducts. A cable duct can have one or more outlets.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Outlet" type="vec:CableDuctOutlet" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableLeadThrough">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CableLeadThrough specifies a hole in the grommet through which wires can pass through the grommet.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the identification of the CableLeadThrough. This must be unique within a GrommetSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>PlacementPoint</i>that represents this<i>CableLeadThrough</i>in a PlaceableElementSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableTieRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<i>CableTieRole</i>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="CableTieSpecification" type="xs:IDREF"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableTieSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of cable ties.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Length" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="Width" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="Thickness" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="TensioningStrength" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianDimension">
		<xs:annotation>
			<xs:documentation xml:lang="en">The CartesianDimension specifies the size of an object in 2D-space.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Height" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the height of the object. The unit of this value is the baseUnit of containing BuildingBlockSpecification2D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Width" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the width of the object. The unit of this value is the baseUnit of containing BuildingBlockSpecification2D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianPoint2D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CartesianPoint2D is a point that is defined by its coordinates in a rectangular two-dimensional Cartesian coordinate system.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="X" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the value of x-coordinate of the Cartesian point. The unit of this value is the baseUnit of containing BuildingBlockSpecification2D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Y" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the value of y-coordinate of the Cartesian point. The unit of this value is the baseUnit of containing BuildingBlockSpecification2D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianPoint3D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CartesianPoint3D is a point that is defined by its coordinates in a rectangular three-dimensional Cartesian coordinate system.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="X" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the value of x-coordinate of the Cartesian point. The unit of this value is the baseUnit of containing BuildingBlockSpecification3D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Y" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the value of y-coordinate of the Cartesian point. The unit of this value is the baseUnit of containing BuildingBlockSpecification3D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Z" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the value of z-coordinate of the Cartesian point. The unit of this value is the baseUnit of containing BuildingBlockSpecification3D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianVector" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Abstract super class for vectors, either 2D or 3D.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="CartesianVector2D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Cartesian vector in the two dimensional space.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CartesianVector">
				<xs:sequence>
					<xs:element name="X" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the x-coordinate in 2D space.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Y" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the y-coordinate in 2D space.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianVector3D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Cartesian vector in three dimensional space.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CartesianVector">
				<xs:sequence>
					<xs:element name="X" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the x-coordinate in 3D space.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Y" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the y-coordinate in 3D space.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Z" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the z-coordinate in 3D space.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Cavity">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A cavity is a defined space in a connector housing for location of an electrical terminal or cavity plug or seal. A cavity may also be empty.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Available" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines whether the cavity is available for contacting. If the cavity is not available, it means that it is completely closed.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavityNumber" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Provides an identifier for the cavity. The cavity number needs to be unique within a<i>Slot</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="HasIntegratedTerminal" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines whether the cavity has an integrated terminal (for example an IDC cavity) or if an additional terminal is required.</p>
								<p>If this attribute is "true", the cavity can reference a<i>TerminalSpecification</i>as<i>integratedTerminalSpecification</i>in order to specify the integrated terminal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavitySpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the CavitySpecification that is satisfied by the cavity.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="IntegratedTerminalSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies of the terminal, if the cavity has an integrated terminal (e.g. an IDC).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityAccessoryRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>CavityAccessoryRole</i>defines the instance specific properties and relationships of a cavity accessory.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="CavityAccessorySpecification" type="xs:IDREF"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityAccessorySpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>CavityAccessory</i>is an non-electrical part used in an cavity with no sealing properties (e.g. a wire fixation).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CavityPartSpecification">
				<xs:sequence>
					<xs:element name="WireElementOutsideDiameter" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a range of valid wire diameters to which the cavity accessory fits.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireReceptionType" type="vec:WireReceptionType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the wireReceptionType to which the cavity accessory fits. This should be an enumeration of values defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityAddOn">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies the wire addon needed to reach a<i>Cavity</i>from a specific<i>SegmentConnectionPoint</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="WireAddOn" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the wire length add on needed for the cavity.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Cavity" type="xs:IDREF"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="CavityCoupling">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>CavityCoupling</i>defines the mapping between two cavities of the<i>ConnectorHousingRoles</i>associated with the<i>CouplingPoint</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="FirstCavity" type="xs:IDREF"/>
					<xs:element name="SecondCavity" type="xs:IDREF"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityMapping">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the mapping of two cavities contained Slot A &amp; B of the containing SlotMapping-object.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="IdentificationA" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the Cavity on side A</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="IdentificationB" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the Cavity on side B</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="CavityMounting">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CavityMounting defines the cavities (CavityReference) where the contacted elements (Terminal) will be mounted.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CavityAccessory" type="xs:IDREFS" minOccurs="0"/>
					<xs:element name="EquippedCavityRef" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the cavities that are used for the cavity mounting.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReplacedPlug" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the cavity plugs that are obsolete if the cavity mounting is realized.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavityMountingDetail" type="vec:CavityMountingDetail" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the CavityMoutingDetails, if a detailed description of the relationships between Cavities and TerminalReceptions is needed.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityMountingDetail">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>With a CavityMountingDetail it is possible to describe a detailed cavity mounting.</p>
				<p>This is needed if the information which terminal reception is mounted into which cavity is important. There are cases where this information can be relevant (e.g. bridge contacts with an asymmetric wire mounting).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="EquippedCavityRef" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the cavity that is used for the detailed description of the cavity mounting.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalReceptionReference" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TerminalReception that is used for the detailed description of the cavity mounting.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityPartSpecification" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<i>CavityPartSpecification</i>
				<i>Cavities</i>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="CavityDiameter" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a range of valid cavity diameters to which the cavity seal fits.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Hardness" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the hardness of the cavity seal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the sealing class of the cavity seal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Geometry" type="vec:SealingGeometry" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the geometry of the cavity sealing.</p>
								<p> </p>
								<p>This attribute is defined as an OpenEnumeration.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CompatibleTerminalType" type="vec:TerminalType" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines a list of terminal types that are compatible to this CavitySealSpecification. This defines as well the compatible cavities, since a plug is normally used when no terminals are present.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityPlugRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CavityPlugRole defines the instance specific properties and relationships of a cavity plug.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="CavityPlugSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>CavityPlugSpecification</i>that is instanced by this<i>CavityPlugRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PluggedCavityRef" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Defines which cavity / cavities in a connector instance is sealed by the plug.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityPlugSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of cavity seals. A cavity plug is a water tight non-electrical object to fill an empty cavity.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CavityPartSpecification"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CavityReference represents the usage of a Cavity in the context of PartUsage or PartOccurrence.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the CavityReference. The identification is guaranteed to be unique within the ConnectorHousingRole. The cavity &amp; slot number is defined by the associated cavity and slot.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ComponentPort" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>ComponentPort</i>that is implemented by this<i>CavityReference</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedCavity" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">Points to the cavity referenced by the cavity reference.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavitySealRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CavitySealRole defines the instance specific properties and relationships of a cavity seal.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="CavitySealSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>CavitySealSpecification</i>that is instanced by this<i>CavitySealRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavitySealSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of cavity seals. A<i>CavitySeal</i>is a water tight non-electrical object to fill a populated Cavity.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CavityPartSpecification">
				<xs:sequence>
					<xs:element name="WireElementOutsideDiameter" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a range of valid wire diameters to which the cavity seal fits.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireReceptionType" type="vec:WireReceptionType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the wireReceptionType to which the cavity seal fits. This should be an enumeration of values defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavitySpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of cavities.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Angle" type="vec:NumericalValue" minOccurs="0" maxOccurs="2">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the angle against two planes of the connector housing a terminal used in this cavity can be buckled.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavityDesign" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the structural shape of the cavity, e.g. round, flat, box.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavityDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the diameter of the cavity.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MinWireElementOutsideDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the minimum diameter a wire is allowed to have to fit into the cavity. This definition is necessary, since wires that are two small might cause movements and in acceptable torsion forces on terminals.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MaxWireElementOutsideDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the maximum diameter a wire is allowed to have to fit into the cavity.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PrimaryLockingType" type="vec:PrimaryLockingType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if the cavity has a primary locking and of what type it is.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Sealable" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if the cavity is sealable.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CompatibleTerminalType" type="vec:TerminalType" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines a list of terminal types that are compatible to this CavitySpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ChangeDescription">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A ChangeDescription describes the implemented issues that are reason for the aggregating ItemVersion to be either an initial or successor version. A ChangeDescription can optionally define the person who has approved the change.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies an identifier for the ChangeDescription. This can be the ID of a changeOrder or an ID which indicates model upgrading. (see KBLFRM-249)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Label" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the label of the change on a drawing for example. If more than one change is issued with one ItemVersion (e.g. change 0001, 0002), in some cases the different changes are labeled on the drawing (e.g. A, B, C).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional, human readable, information about the ChangeDescription.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Approver" type="vec:Person" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the person who has approved the change.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ChangeDate" type="xs:dateTime" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the date when the change was performed.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ResponsibleDesigner" type="vec:Person">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the design engineer who is/was responsible to perform the change.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RelatedChangeRequest" type="xs:string" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the identification of a corresponding changeRequest. (see KBLFRM-249)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Coding">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies the coding of a slot or a connector housing.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Coding" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the name of the coding.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Color">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies a color value. A color is always defined by a key value. What color is meant by this key value is defined by a standard reference systems (e.g. RAL).</p>
				<p>For example if a RAL color should be expressed in the terms of the VEC the<i>referenceSystem</i>would be "RAL", the<i>key</i>would be the RAL number defined by the standard (e.g. "1003" for signal yellow).</p>
				<p>Attributes of the type Color normally have the multiplicity [0..*]. This means that such an attribute can have a value for different referenceSystems (e.g. RAL, RGB,...). It must not have multiple values for the same ReferenceSystem.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Key" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The key of the color in the corresponding color reference system.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ReferenceSystem" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the color reference system, which is defining possible values and the semantic of color keys. (see KBLFRM-315)</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Description" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>On optional human readable description of the color (e.g. the name).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="CompatibilitySpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CompatibilitySpecification specifies a set of CompatibilityStatements.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="CompatibilityStatement" type="vec:CompatibilityStatement" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the CompatibilityStatements defined by this CompatibilitySpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CompatibilityStatement">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CompatibilityStatement is used to express compatibility between parts. This can be either compatibility for contacting (terminals, wires, seals, a.s.o.) or for plugging (connector housings, slots, a.s.o.).</p>
				<p>A CompatibilityStatement can be used to explicitly express compatibility (hasCompatibility = true) or to express incompatibility / negation (hasCompatibility = false).</p>
				<p>The CompatibilityStatement is stated by referencing the corresponding specifications. In the concrete implementation this mechanisms allows three different variants to express compatibility.</p>
				<p>In the first variant the CompatibilityStatement references specifications that are not directly related to a concrete PartVersion (association in the super-class PartOrUsageRelatedSpecification). In this case the attributes of the specification represent a search pattern for searching compatible parts in a component library.</p>
				<p>In the second variant the CompatibilityStatement references the same specifications that are used to specify the component attributes of a PartVersion. This would be equivalent to an explicit mapping compatible PartVersions.</p>
				<p>In the third variant the CompatibilityStatement references specifications that do not have any attributes at all. These specifications are normally defined in the same document that defines the CompatibilitySpecification. Such a specification can group multiple PartVersion by referencing them. This is possible, because the VEC makes no restriction on the number of specifications that can be defined for single PartVersion.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="HasCompatibility" type="xs:boolean">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>If true the CompatibilityStatement states compatibility, otherwise incompatibility.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Cavity" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References explicit cavities for which the compatibility statement is stated.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavityPlugSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the CavityPlugSpecifications for which the compatibility statement is stated.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavitySealSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the CavitySealSpecifications for which the compatibility statement is stated.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavitySpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the CavitySpecifications for which the compatibility statement is stated.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectorHousingSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the ConnectorHousingSpecifications for which the compatibility statement is stated.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Slot" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References explicit Slots for which the compatibility statement is stated.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the TerminalSpecifications for which the compatibility statement is stated.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the WireSpecifications for which the compatibility statement is stated.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ComponentConnector">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>ComponentConnector</i>is a grouping of<i>ComponentPorts</i>and represents a logical abstraction of a connector of an<i>EEComponent</i>. When the<i>ComponentNode</i>is realized by an<i>EEComponentRole</i>the<i>ComponentConnector</i>will result in a<i>HousingComponent.</i>
				</p>
				<p>It is permitted that a<i>ComponentConnector</i>is a 150% definition of connector.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies a unique identification of the ComponentConnector. The identification is guaranteed to be unique within the ComponentNode.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ComponentPort" type="vec:ComponentPort" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ComponentPorts of the ComponentConnector.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ComponentNode">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A ComponentNode is a node where an electrological component is located. It is a representative for an element in the electric system, e.g. an actuator, a sensor, an ECU. In this way it is quite similar to a NetworkNode and may even reference the corresponding NetworkNode in this case. However, a ComponentNode is more likely to be used as a representative of an inliner or a splice. Moreover, a ComponentNode can define childNodes in order to describe its internal structure.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the ComponentNode. The identification is guaranteed to be unique within the ConnectionSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for a short name of the ComponentNode.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ComponentNodeType" type="vec:ComponentNodeType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the ComponentNode.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the ComponentNode.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetworkNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the NetworkNode that is realized by the ComponentNode.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RealizedUsageNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>UsageNode</i>that is realized by this<i>ComponentNode</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ChildNode" type="vec:ComponentNode" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ComponentNodes that are a child of this ComponentNode.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ComponentConnector" type="vec:ComponentConnector" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ComponentConnectors of a ComponentNode.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ComponentPort">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines a port of ComponentNode. A ComponentPort is usually the realization of a NetworkPort. Electrological connections are defined between two or more ComponentPorts.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the ComponentPort. The identification is guaranteed to be unique within the ComponentConnector.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SignalDirection" type="vec:SignalDirection" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the direction of the signal on this ComponentPort.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the ComponentPort.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetworkPort" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the NetworkPort that is realized by the ComponentPort.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>Signal</i>that is associated with the<i>ComponentPort</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CompositeUnit">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines a unit as a composition of other units. The composition is done by multiplying the different other units. By this way combined units like kg/m can be formed.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="Factors" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>Units</i>that are used as factors to create the<i>CompositeUnit.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CompositionSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The CompositionSpecificiation is used to define a set of occurrences required to describe unambiguously the design of a composite part. This does not have to be necessarily the same occurrences which are building the bill of material. Example: A company might want to regard an antenna cable as one part out of a bill of material perspective. However, at the same time it may be useful for the company to be able to describe the contacting of the antenna cable within the VEC. (see also PartStructureSpecification)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Component" type="vec:PartOccurrence" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the PartOccurrences defined in the CompositionSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConductorCurrentInformation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The<i>ConductorCurrentInformation</i>specifies the maximum current for which a conductor is approved. As the maximum current is dependent from the voltage and the environment temperature it is modeled as a class and not only as an attribute.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="MaxCurrent" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The maximum current value.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="EnvironmentTemperature" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The environment temperature for which this maximum current value is applicable.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Voltage" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The voltage for which this maximum current value is applicable.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="ConductorMaterial">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>
					<i>ConductorMaterial</i>is a helper class to specify<i>validConductorMaterials.</i>This is necessary, since all attributes of the type<i>Material</i>have a multiplicity of * with the semantics that it always defines<u>one</u>
					<i>Material</i>with the possibility to define it in different reference systems.</p>
				<p>Since a wire reception can have more than one<i>validConductorMaterial</i>this container class is necessary to keep the semantics clear.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Material" type="vec:Material" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en"/>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="ConductorSpecification" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of conducting properties of a WireElement.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="CrossSectionArea" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the cross section area of the conductor (e.g. 0,5 mm²). The cross section area is a nominal value, which refers to the conducting properties of the conductor normalized to the properties of a full material core.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MassInformation" type="vec:MassInformation" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the mass information of the conductor. In most cases this mass information is known as copper weight and is normally specified as mass per length (e.g. gram per meter).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Material" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the material of the conductor.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Resistance" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the electrical resistance of the conductor. In most cases this is specified as resistance per length (e.g. Ohm per meter).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Structure" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the structure of the conductor (e.g. symmetrical, asymmetrical).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Type" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the conductor. This should be an enumeration of values defined in a conformance class (e.g. solid, meshwork).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NumberOfStrands" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the number of strands in one conductor. If the conductor is solid than the number of strands would be one.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlatingMaterial" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the plating material of the conductor.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="StrandDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the diameter of a single strand in the conductor.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="VoltageRange" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the voltageRange for which the conductor is approved.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CurrentInformation" type="vec:ConductorCurrentInformation" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the current information of the conductor. These are the maximum currents for which the conductor is approved.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConfigurableElement" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Abstract base class for all elements which can be configured with a VariantConfiguration.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="ConfigInfo" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the configuration information that applies to the ConfigurableElement.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConformanceClass">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The ConformanceClass element represents a link to a ConformanceClass to which the vec-file is compliant.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the name of the conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Version" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the version of the conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Url" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the URL of the conformance class where conformance class file is available.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Connection">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Connection is an electrological connection between two or more ComponentPorts.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:RoutableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the Connection. The identification is guaranteed to be unique within the ConnectionSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional, human readable information about the Connection.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InstallationInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies installation instruction for the connection.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Net" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Net that is realized by the Connection.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the signal that is transmitted by the connection.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectionEnd" type="vec:ConnectionEnd" minOccurs="2" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ConnectionEnds of the Connection.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectionEnd">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A connection end is the end of a Connection at a ComponentPort.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the ConnectionEnd. The identification is guaranteed to be unique within the ConnectionSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="IsExternalEnd" type="xs:boolean">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if the ConnectionEnd is connected to the internal or the external side of the ComponentPort.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Gender" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if the ConnectionEnd is male or female. This may be e.g. important in case of an inliner.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InstallationInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<i>ConnectionEnd</i>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectedComponentPort" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the ComponentPort that is connected by the ConnectionEnd.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectionGroup">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A ConnectionGroup references two or more Connections expressing that the physical realization of the referenced Connection shall be somehow grouped e.g. twisted. For complex structures a ConnectionGroup can specify subgroups.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the ConnectionGroup. The identification is guaranteed to be unique within the ConnectionSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectionGroupType" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the connectionGroup (e.g. twisted).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InstallationInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional InstallationInstructions for the ConnectionGroup.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the ConnectionGroup.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Connection" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Connections that are grouped by the ConnectionGroup.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetGroup" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the NetworkGroup that is realized by the ComponentGroup.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SubGroup" type="vec:ConnectionGroup" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ConnectionGroups that are a subgroup of this ConnectionGroup.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectionSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A ConnectionSpecification is used to define electrological connectivity.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ComponentNode" type="vec:ComponentNode" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ComponentNodes defined by the ConnectionSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Connection" type="vec:Connection" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Connection defined by the ConnectionSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectionGroup" type="vec:ConnectionGroup" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ConnectionGroup defined by the ConnectionSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectorHousingCapRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="ConnectorHousingCapSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>ConnectorHousingCapSpecification</i>that is instanced by this<i>ConnectorHousingCapRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectorHousingCapSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of cap's (backshells) of connectors. Different cap's can add additional wire length addons to a connector housing.</p>
				<p>A 'cap' which already defines the number of cavities, coding etc. is in the VEC defined by<i>ConnectorHousingSpecification</i>with<i>ModularSlots</i>and not by a<i>ConnectorHousingCapSpecification</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="WireAddOn" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the wire length add on needed for the cap.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="OutletDirection" type="vec:ConnectorOutletDirection" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the<i>OutletDirection</i>for wires.</p>
								<p>This attribute is defined as an<i>OpenEnumeration</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectorHousingRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A ConnectorHousingRole defines the instance specific properties and relationships of a connector housing.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="SealState" type="vec:SealState" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if this instance of a connector housing should be sealed (waterproof).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ComponentNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the ComponentNode that is realized by the referenced ConnectorHousing (OccurrenceOrUsage with ConnectorHousingRole). This can especially be relevant for inliners. KBLFRM-341.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectorHousingSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>ConnectorHousingSpecification</i>that is instanced by this<i>ConnectorHousingRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SlotReference" type="vec:AbstractSlotReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the SlotReferences used in the ConnectorHousingRole.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectorHousingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of connector housings. A connector housing consists of a one or more slots. In the means of the VEC, a connector housing can be a conventional connector housing, a contact module or a connector shell.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="AverageWireLengthAddOn" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the average wire length add on for this connector.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="VoltageRange" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the allowed voltage range for the connector housing.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Coupleable" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines whether the connector is coupleable or not. Connectors that are coupleable can be used in an inline position. Connectors that are not coupleable can be connected only to an ECU or something similar.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the sealing class of the slot.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectorPositionAssurance" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>If<i>true</i>the<i>ConnectorHousing</i>has a connector position assurance (CPA).</p>
								<p>A CPA is some sort of feature of a connector, that secures the connector in its correctly assembled position with its mating part.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="OutletDirection" type="vec:ConnectorOutletDirection" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the<i>OutletDirection</i>for wires.</p>
								<p>This attribute is defined as an<i>OpenEnumeration</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Coding" type="vec:Coding" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Defines coding of the connector housing that is satisfied by the connector housing.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SegmentConnectionPoint" type="vec:SegmentConnectionPoint" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>SegmentConnectionPoints</i>the connector housing.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Slot" type="vec:AbstractSlot" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the slots forming the ConnectorHousing.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ContactPoint">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A contact point defines the relationship between Terminals, Seals, Plugs, Cavities and Wires. A ContactPoint is expected to have only one electrical potential.</p>
				<p>If a contacting of a terminal has more than one potential (e.g. a coax-contact) one contact point for each potential is needed.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the ContactPoint. The identification is guaranteed to be unique within the ContactingSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MountedTerminal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the terminal that is used for contacting defined by the ContactPoint.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavityMounting" type="vec:CavityMounting" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Defines the mounting to a cavity of the terminal associated with the ContactPoint. The cardinality is 0..* in order to allow a variant dependant cavity mounting. In such a scenario a cavity mounting is valid in a configuration if all addressed cavities and therefore the associated connector housing is available.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireMounting" type="vec:WireMounting" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the WireMouting defined by ContactPoint. More than one WireMounting is allowed in order to support variance. In concrete configuration the WireMounting with all referenced elements present is used.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ContactSystem">
		<xs:annotation>
			<xs:documentation xml:lang="en">A contact system is a standard reference setup of two terminals and defined length of a core contacted to both terminals.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="ContactResistance" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the resistance of the contact system.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="JoiningForce" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the joining force of the two terminals.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FirstTerminal" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the first terminal of the ContactSystem.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedCoreSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the CoreSpecification that is used on both sides of the ContactSystem.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SecondTerminal" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the second terminal of the ContactSystem.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ContactSystemSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of ContactSystems.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ContactSystem" type="vec:ContactSystem" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the ContactSystems described by the ContactSystemSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ContactingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">Specification for the description of the contacting. A contacting defines the relationships between Terminals, Seals, Plugs, Cavities and Wires.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ContactPoint" type="vec:ContactPoint" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ContactPoints defined by the ContactingSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Contract">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Contract-instance describes the relationship between an ItemVersion-instance and a Company-instance additionally defining the role the company takes in reference to the ItemVersion.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CompanyName" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the company which acts in the specified Role in the Contract Relationship.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ContractRole" type="vec:ContractRole">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The role the company takes in reference to the associated ItemVersion. Predefined are the values: Oem, Supplier and Manufacturer.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CopyrightInformation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CopyrightInformation-instance specifies copyright information for one or more Items.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CopyrightNote" type="vec:LocalizedString" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>An informal text which specifies copyright information.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CoreSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the properties of a circular conductor (core) which are specific for them.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConductorSpecification">
				<xs:sequence>
					<xs:element name="OutsideDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the outside diameter of the core.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CorrugatedPipeSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of corrugated pipes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:TubeSpecification">
				<xs:sequence>
					<xs:element name="CorrugationHeight" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the height of a corrugation of the pipe.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CorrugationWidth" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the width of a corrugation of the pipe.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CorrugationGradient" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the gradient of a corrugation of the pipe.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CouplingPoint">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>CouplingPoint</i>defines a single coupling. If a coupling takes place, all sub elements are connected. If the coupling is disconnected, all subelements are disconnected.</p>
				<p>If a coupling occurs between two connectors, and not just between two terminals, the<i>CouplingPoint</i>references the respective<i>ConnectorHousingRoles</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="FirstConnector" type="xs:IDREF" minOccurs="0"/>
					<xs:element name="SecondConnector" type="xs:IDREF" minOccurs="0"/>
					<xs:element name="MatingPoint" type="vec:MatingPoint" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the MatingPoints defined by the MatingSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SlotCoupling" type="vec:SlotCoupling" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CouplingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of a Coupling. A coupling allows the mapping between independent harness sections or EEComponents of the electrical system. This is done by the mapping of either or bot, ConnectorHousingRoles &amp; TerminalRoles of one side to the other.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="CouplingPoint" type="vec:CouplingPoint" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Creation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Creation-instance provides additional information to the owning ItemVersion stating personal information on the creator and the creation date.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CreationDate" type="xs:dateTime">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the date when the associated ItemVersion was created. (see KBLFRM-241)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Creator" type="vec:Person" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the person who has created the Item.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ResponsibleDesigner" type="vec:Person" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the person, which is the responsible designer for the ItemVersion at the point of creation.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CustomProperty" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Abstract base class for custom properties. Basically a custom property is key / value pair. The key (propertyType) defines the meaning of the value. A custom property can either be a simple value (string), a numerical value or a value range.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PropertyType" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="CustomUnit">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A CustomUnit can be used to define "FreeText"-Units. Custom units must not be used for units that can be expressed by any of the other subclasses of Unit. Custom units are only allowed if a unit is needed that cannot be handled by any of the other classes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>A unique identification of the custom unit.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DateValueProperty">
		<xs:annotation>
			<xs:documentation xml:lang="en"/>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="xs:dateTime">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the value of the CustomProperty.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DefaultDimension">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<i>DefaultDimension</i>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="DimensionValueRange" type="vec:ValueRange">
				<xs:annotation>
					<xs:documentation xml:lang="en"/>
				</xs:annotation>
			</xs:element>
			<xs:element name="DimensionType" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<i>dimensionType</i>
						<i>DefaultDimension</i>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ToleranceIndication" type="vec:Tolerance"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="DefaultDimensionSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<i>DefaultDimensionSpecification</i>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="DefaultDimension" type="vec:DefaultDimension"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Dimension">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Dimension defines a measurement for the distance between two Locations. An acceptable tolerance can be specified additionally. If the Locations are not located on adjacent topology-elements it is possible to specify a Path for the dimension along which the measurement must be taken.</p>
				<p>The value for the Dimension is not specified as Numerical_value (which can define a Tolerance as well). This is because the "valueComponent" of the Numerical_value is mandatory. For Dimensions it shall be optional since there are scenarios where the dimension only specifies a Tolerance for a distance defined by the topology (segment length + placement information).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the Dimension. The identification is guaranteed to be unique within the containing PlacementSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ValueComponent" type="xs:double" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the value of the dimension. This value can be null, if it shall be calculated and only a tolerance shall be defined.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ValueCalculated" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines if the value of the<i>Dimension</i>was calculated (e.g. the sum of segment lengths in the topology) or if it was defined manually.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DimensionAnchor" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the location that is used as dimension point for the dimensioning (e.g. the entry point of a bundle into a connector housing).</p>
								<p>See KBLFRM-329 and KBLFRM-391.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferenceAnchor" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the location that is used as reference point for the dimensioning (e.g. the location of a fixing as this relates to a fixpoint of the body in white).</p>
								<p>See KBLFRM-329 and KBLFRM-391.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="UnitComponent" type="xs:IDREF"/>
					<xs:element name="DefinedLocations" type="vec:Location" minOccurs="0" maxOccurs="2">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="Path" type="vec:Path" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies a path in the topology along which the dimension is defined.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Tolerance" type="vec:Tolerance" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DimensionAnchor" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>DimensionAnchor</i>represents an abstract anchor onto which a<i>Dimension</i>can be specified.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DocumentBasedInstruction">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A DocumentBasedInstruction is an Instruction to a SheetOrChapter in a DocumentVersion or to a complete DocumentVersion.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Instruction">
				<xs:sequence>
					<xs:element name="ReferencedDocument" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the DocumentVersion that is used as an Instruction.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedSheetOrChapter" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the SheetOrChapter that is used as an Instruction.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DocumentVersion">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The DocumentVersion is one of the two anchors for PDM information in the VEC. All technical information about a PartVersion is contained in one or more documents. The documents are containing the actual content of the VEC since all Specifications are an element of a document.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ItemVersion">
				<xs:sequence>
					<xs:element name="DocumentNumber" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The documentNumber is the major identifier of a DocumentVersion. The format is user defined and respectively company specific. Over all VEC-documents a DocumentVersion-instance can be trusted to be identical if the combination of documentNumber, documentVersion and companyName is identical.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DocumentType" type="vec:DocumentType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The type of the document, that is defined in an<i>OpenEnumeration</i>and gives a hint about the content of the document. Values for typical types of documents in the process are predefined (e.g. a part master document for the specification of a<i>PartVersion</i>).</p>
								<p>At later point, further constraint migth be attached to<i>documentType</i>defining a minimum content for certain types of documents.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DocumentVersion" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The documentVersion specifies the version index of a document (see also documentNumber).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CreatingSystem" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The creatingSystem specifies the computer application or the machine which is used to create the document.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DataFormat" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The dataFormat specifies the convention that was used to structure the information in the document. This is useful if the DocumentVersion is actually a pointer to an external document, which is not contained in the VEC or if the content of this DocumentVersion was automatically generated by the extraction of the information out of the original document.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FileName" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>If this DocumentVersion is a link to an external document (e.g. a ComponentSymbol), then the fileName attribute points to the file containing the original document. To use this attribute is only valid, if the original document is distributed along with the VEC-file e.g. in a ZIP-archive. It must not point to any file location which is not part of the bundle provided together with the VEC-file (e.g. a File on a central server file share).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Location" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The location specifies where a document can be found in a digital or physical data storage system.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NumberOfSheets" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The number of sheets contained in the document.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedPart" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">The association is an informative link which PartVersions are described by the DocumentVersion.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RelatedDocument" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">The association is an informative link which DocumentVersion are related to each other (e.g. by derivation, A Harness-Drawing is related to a 3D-Model).</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ItemEquivalence" type="vec:ItemEquivalence" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies ItemEquivalances defined by the DocumentVersion.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SheetOrChapter" type="vec:SheetOrChapter" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies SheetOrChapters defined in this DocumentVersion. These are especially useful if the DocumentVersion represents an external reference.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Specification" type="vec:Specification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Specifications contained in the DocumentVersion. All structured, technical information in the VEC is described by such Specifications.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DoubleValueProperty">
		<xs:annotation>
			<xs:documentation xml:lang="en"/>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the value of the CustomProperty.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="EEComponentRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An EEComponentRole defines the instance specific properties and relationships of an EE-component.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="EEComponentSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>EEComponentSpecification</i>that is instanced by this<i>EEComponentRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ComponentNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the ComponentNode that is realized by the referenced EEComponent (OccurrenceOrUsage with EEComponentRole). KBLFRM-341</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ExtensionSlotRef" type="vec:ExtensionSlotReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ExtensionSlotReferences used in the EEComponentRole.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="HousingComponentRef" type="vec:HousingComponentReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the HousingComponentReferences used in the EEComponentRole. (KBLFRM-401)</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="EEComponentSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Base-class for the specification of electrological components, which are connected to the harness. Usually electrological components are not part of the harness e.g. a fuses, a switch or a control device. All EEComponents can have one or more HousingComponents which are possible interfaces for the connection to a harness.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="PowerConsumption" type="vec:PowerConsumption" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>PowerConsumptions</i>of this<i>EEComponentSpecification.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Connections" type="vec:InternalComponentConnection" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ExtensionSlots" type="vec:ExtensionSlot" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the available ExtensionSlots of the EEComponent.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="HousingComponent" type="vec:HousingComponent" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the available connector interfaces of the EEComponent.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="States" type="vec:SwitchingState" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the available<i>SwitchingStates</i>of the EEComponent.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="EdgeMountedFixingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for fixings that are mounted onto an edge.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:FixingSpecification">
				<xs:sequence>
					<xs:element name="EdgeThickness" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines a range of valid thicknesses, onto which the fixing can be mounted.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ExtendableElement" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Abstract base class for extendable elements. Extendable elements have the possibility to define non-standard custom properties.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="CustomProperty" type="vec:CustomProperty" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Specifies the CustomProperties of the ExtendableElement.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="ExtensionSlot">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An<i>ExtensionSlot</i>defines a slot within an EE-Component where other EE-Components can plugged into (modular extension). This is necessary for example for modular power distributions.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Identification of the ExtensionSlot, which must be distinct for all ExtensionSlots of an EEComponent.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AllowedInserts" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the<i>PartVersions</i>that are allowed as an insert for this ExtensionSlot.</p>
								<p>This reference points to a<i>PartVersion</i>in order to allow referencing, even if the description of individual<i>PartVersions</i>is done with one physical VEC file per<i>PartVersion.</i>However, inserts for a<i>ExtensionSlot</i>are always<i>EEComponents</i>by itself. Therefore the referenced<i>PartVersion</i>shall have a<i>PrimaryPartType = EEComponent.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ExtensionSlotReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A ExtensionSlotReference represents the usage of a ExtensionSlot in the context of a PartUsage or PartOccurrence.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="ExtensionSlot" type="xs:IDREF"/>
					<xs:element name="UsedInserts" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Defines the inserts used for extension slot in a defined instance. These can be more than one EEComponentRole, because of variance in a 150% specification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ExternalMapping">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An<i>ExternalMapping</i>is used to relate an<i>ExtendableElement</i>in the VEC with an element located in an external data source. The element in the VEC is referenced by the<i>mappedElement</i>, the external element is identified by the attribute<i>externalReference.</i>
				</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="ExternalReference" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="MappedElement" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ExternalMappingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An<i>ExternalMappingSpecification</i>is used to define a mapping between an external data source (represented by the referenced<i>mappedDocument</i>) and the content of a VEC file.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="MappedDocument" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Reference to the<i>DocumentVersion</i>that represents the external data source that connected to the VEC content by the<i>ExternalMappingSpecification</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Mappings" type="vec:ExternalMapping" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the mappings of individual element.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FileBasedInstruction">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A FileBasedInstruction is an Instruction that references a file packaged together with a VEC-document. Such a file can be for example an image.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Instruction">
				<xs:sequence>
					<xs:element name="FileName" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The name of the file.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LastModified" type="xs:dateTime" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The last modified timestamp of the file.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DataFormat" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The dataFormat specifies the format of the FileReference. This could be for example the mime-type of the external file.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Location" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies where (at which location) the file could be found.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FillerSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of filler elements in the wire.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Material" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the material of the filler.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Diameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the diameter of the filler.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FittingOutlet">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies one outlet of the fitting.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the identification of the Outlet. This must be unique within a FittingSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InnerDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the inner diameter of the outlet.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="OuterDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the outer diameter of the outlet.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalSize" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the nominal size of a tube. The nominal size is a name for the size of the tube that is somehow related to the inner diameter of the tube. However it is not the inner diameter (e.g. "10.5").</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>PlacementPoint</i>that represents this<i>FittingOutlet</i>in a PlaceableElementSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FittingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of fittings. A fitting is a part that is used to connect pipes or tube. A fitting has a specific form (e.g. Y,T)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:WireProtectionSpecification">
				<xs:sequence>
					<xs:element name="Form" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the form of the fitting (e.g. Y, T).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Outlet" type="vec:FittingOutlet" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FixingRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A FixingRole defines the instance specific properties and relationships of a fixing.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="FixingSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>FixingSpecification</i>that is instanced by this<i>FixingRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FixingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of fixings. A fixing is used to fix the harness in a certain position (e.g. at the car body, a seat, an ECU etc.). The FixingSpecification describes how the fixing is attached to the "non-harness" element. The attachment to harness is described by a PlaceableElementSpecification.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Offset" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="NominalSize" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FlatCoreSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the properties of a flat (rectangular) conductor which are specific for them.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConductorSpecification">
				<xs:sequence>
					<xs:element name="Size" type="vec:Size" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FuseComponent">
		<xs:sequence>
			<xs:element name="Identification" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Identification of the FuseComponent, which must be distinct for all FuseComponents of an MultiFuseSpecification.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ConnectedPins" type="xs:IDREFS" minOccurs="0"/>
			<xs:element name="FuseSpecification" type="xs:IDREF" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="FuseSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification of the electrological aspects of a fuse.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="FuseType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The type of a fuse. This should be an enumeration of values defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="IMax" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the maximum electric current tolerated by the fuse.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeneralTechnicalPartSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of common properties for technical parts.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="ColorInformation" type="vec:Color" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the color of the part.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MassInformation" type="vec:MassInformation" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the mass of the part.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MaterialInformation" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the material of a part.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RobustnessProperties" type="vec:RobustnessProperties" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the robustness of a part.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TemperatureInformation" type="vec:TemperatureInformation" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies valid temperatures for a part.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BoundingBox" type="vec:BoundingBox" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="PartRelation" type="vec:PartRelation" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies possible relations (accessories) of the specified part with other PartVersion (e.g. caps, clips).</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometryNode" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A GeometryNode is the geometric representation of a TopologyNode. A TopologyNode may be represented by more than one GeometryNodes. A GeometryNode is either a GeometryNode2D or a GeometryNode3D.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the GeometryNode. The identification is guaranteed to be unique within the corresponding BuildingBlockSpecification. Over all VEC-documents a GeometryNode-instance can be trusted to be the same if the BuildingBlockSpecification-instance is the same (see BuildingBlockSpecification) and the identification of the GeometryNode is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional identifiers for the GeometryNode.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferenceNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TopologyNode that is represented by the GeometryNode.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometryNode2D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A GeometryNode2D is the geometric representation of a TopologyNode in 2D-space.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:GeometryNode">
				<xs:sequence>
					<xs:element name="CartesianPoint" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the CartesianPoint2D where the GeometryNode2D is located.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometryNode3D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A GeometryNode3D is the geometric representation of a TopologyNode in 3D-space.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:GeometryNode">
				<xs:sequence>
					<xs:element name="CartesianPoint" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the CartesianPoint3D where the GeometryNode3D is located.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometrySegment" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A GeometrySegment is the geometric representation of a TopologySegment. A TopologySegment may be represented by more than one GeometrySegment. A GeometrySegment is either a GeometrySegment2D or a GeometrySegment3D.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the GeometrySegment. The identification is guaranteed to be unique within the corresponding BuildingBlockSpecification. Over all VEC-documents a GeometrySegment-instance can be trusted to be the same if the BuildingBlockSpecification-instance is the same (see BuildingBlockSpecification) and the identification of the GeometrySegment is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional identifiers for the GeometrySegment.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferenceSegment" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TopologySegment that is represented by the GeometrySegment.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometrySegment2D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A GeometrySegment2D is the geometric representation of a TopologySegment in 2D-space.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:GeometrySegment">
				<xs:sequence>
					<xs:element name="StartVector" type="vec:CartesianVector2D">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the start vector of the geometry segment. The start vector is a tangent to the segment at the start position.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="EndVector" type="vec:CartesianVector2D">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the end vector of the geometry segment. The end vector is a tangent to the segment at the end position.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="EndNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the GeometryNode2D where the GeometrySegment2D ends.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="StartNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the GeometryNode2D where the GeometrySegment2D starts.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PathSegment" type="vec:PathSegment" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies an ordered list of PathSegments that describe the appearance of the GeometrySegment2D. The appearance is described by the concatenation of the PathSegments beginning at the startNode of the GeometrySegment2D.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometrySegment3D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A GeometrySegment3D is the geometric representation of a TopologySegment in 3D-space.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:GeometrySegment">
				<xs:sequence>
					<xs:element name="StartVector" type="vec:CartesianVector3D">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the start vector of the geometry segment. The start vector is a tangent to the segment at the start position.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="EndVector" type="vec:CartesianVector3D">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the end vector of the geometry segment. The end vector is a tangent to the segment at the end position.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="EndNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the GeometryNode3D where the GeometrySegment3D ends.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="StartNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the GeometryNode3D where the GeometrySegment3D starts.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BSplineCurve" type="vec:BSplineCurve" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies an ordered list of BSplineCurves defining the 3D appearance of the GeometrySegment3D.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GrommetRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A GrommetRole defines the instance specific properties and relationships of a grommet.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="GrommetSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>GrommetSpecification</i>that is instanced by this<i>GrommetRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GrommetSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of grommets.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Hardness" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the hardness of the grommet.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="HoleDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the valid diameter of a hole into which the grommet fits.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlateThickness" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies valid the plate thickness at the hole into which the grommet fits.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GrommetType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the grommet. Appropriate values should be defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the sealing class of the grommet.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CableLeadThrough" type="vec:CableLeadThrough" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the CableLeadThroughs of the Grommet.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HarnessDrawingSpecification2D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The HarnessDrawingSpecification2D specifies a two dimensional drawing of a harness. A harness drawing is composed of one or more BuildingBlockSpecifaction2D which are placed on the drawing.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="BuildingBlockPositionings" type="vec:BuildingBlockPositioning2D" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the BuildingBlockPositioning2Ds that are forming the 2D harness drawing.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HarnessGeometrySpecification3D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The HarnessGeometrieSpecification3D specifies a three dimensional model of a harness. A harness model is composed of one or more BuildingBlockSpecifaction3D which are placed in the model.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Type" type="vec:GeometryType">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the harness geometry.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BuildingBlockPositionings" type="vec:BuildingBlockPositioning3D" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the BuildingBlockPositioning3Ds that are forming the HarnessGeometrySpecification3D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HoleMountedFixingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for fixings that are mounted with a hole. This means, the fixing itself has got a hole, which is mounted onto a bolt.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:FixingSpecification">
				<xs:sequence>
					<xs:element name="HoleDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the diameter of the hole in which the fixing is mounted.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlateThickness" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the thickness of the plate in which the hole is positioned.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="HoleType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the hole in which the fixing can be mounted. Appropriate values should be defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="HoleShape" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HousingComponent">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A HousingComponent describes the interface of an EEComponent with which it can be connected to another EEComponent or a harness. The characteristics of the interface can be described with a referenced ConnectorHousingSpecification. (see KBLFRM-300)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Identification of the HousingComponent, which must be distinct for all HousingComponents of an EEComponent.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional, human readable information about the<i>HousingComponent</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="HousingSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the ConnectorHousingSpecification that is describing the connector interface of the HousingComponent (e.g. Slots, Cavities, Design, Coding).</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PinComponent" type="vec:PinComponent" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the PinComponents of HousingComponent. (see KBLFRM-300)</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HousingComponentReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A HousingComponentReference represents the usage of a HousingComponent in the context of a PartUsage or PartOccurrence. (KBLFRM-401)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the HousingComponentReference. The identification is guaranteed to be unique within the EEComponentRole.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ComponentConnector" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the ComponentConnector that is realized by the referenced HousingComponentReference.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="HousingComponent" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">Points to the HousingComponent referenced by the HousingComponent reference. (KBLFRM-401)</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectorHousingRole" type="vec:ConnectorHousingRole" minOccurs="0"/>
					<xs:element name="PinComponentRef" type="vec:PinComponentReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the PinComponentReferences used in the HousingComponentReference. (KBLFRM-401)</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="IECUnit">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The IECUnit class can define quantities in the terms of the IEC-Unit-System by specifying the corresponding IEC prefix (optional) and an IEC unit name.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="IecUnitName" type="vec:IECUnitName">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the name of the IEC unit.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="IecPrefix" type="vec:IECPrefix" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the prefix of the IEC unit.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ImperialUnit">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The ImperialUnit class can define quantities in the terms of the Imperial-Unit-System by specifying the corresponding Imperial unit name.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="ImperialUnitName" type="vec:ImperialUnitName">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the name of the imperial unit.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Instruction" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Abstract super class to specify different types of instructions. Possible instructions are text, file or document based.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="InsulationSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of insulation properties of a WireElement.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="BaseColor" type="vec:Color" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the base color of the insulation.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FirstIdentificationColor" type="vec:Color" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the first identification color of the insulation.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SecondIdentificationColor" type="vec:Color" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the second identification color of the insulation.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LabelIdentificationColor" type="vec:Color" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the color of a label printed on the insulation of the wire.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LabelIdentificationType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of a label printed on the insulation of the wire (e.g. alpha numerical, bar code).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LabelIdentificationValue" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the value of a label printed on the insulation of the wire.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Material" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the material of the insulation.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Thickness" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the thickness of the insulation.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="IntegerValueProperty">
		<xs:annotation>
			<xs:documentation xml:lang="en"/>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="xs:integer">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the value of the CustomProperty.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="InternalComponentConnection">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An<i>InternalComponentConnection</i>defines a conductive connection between a number of<i>PinComponents</i>within an<i>EEComponent</i>. Such a connection can be statically permanent or dynamically switch (e.g. by a relais). This behaviour can be defined with a<i>SwitchingState</i>.</p>
				<p>The electrical behaviour of an<i>InternalComponentConnection</i>can be further specified by a referenced<i>ConductorSpecification.</i>
				</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Identification of the<i>InternalComponentConnection</i>, which must be distinct for all<i>InternalComponentConnection</i>of an<i>EEComponent</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConductorSpecification" type="xs:IDREF" minOccurs="0"/>
					<xs:element name="Pins" type="xs:IDREFS"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="InternalTerminalConnection">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An InternalTerminalConnection represents an electrical connection within a terminal. For standard terminals all receptions (wire- and terminal-receptions) have an electrical connection. For non-standard terminals (e.g. coax) only some receptions have an electrical connection. The InternalTerminalConnection is modeled as a separate class and not as relationship between wire- and terminal-reception, since it is possible that a terminal has only one kind of reception (e.g. a parallel connector, a cavity bridge). (see KBLFRM-302)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the InternalTerminalConnection. The identification is guaranteed to be unique within the TerminalSpecification (this might be for example an internal connection number).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalReception" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TerminalReceptions that participate in the InternalTerminalConnection.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireReception" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the WireReceptions that participate in the InternalTerminalConnection.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ItemEquivalence">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines two or more ItemVersions to be equivalent out of the view of a certain company. The ItemEquivalence class will most likely be used by a company to express which PartNumber a certain PartVersion has in the context of other companies. However, for every other company separate ItemVersion-instances are needed as the statement of equivalence can be very subjective.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CompanyName" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the company which states the ItemEquivalence.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Item" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References all ItemVersion that are considered to be equivalent by the ItemEquivalence.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ItemHistoryEntry">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An ItemHistroyEntry defines the direct relationship between ItemVersions in the terms of predecessor and successor. There are two possible types of relationships between ItemVersions, derivation and sequence. Derivation means for example for parts, that the successor version is a new part developed on the base of the predecessor version. Sequence means the successor version is an improvement of the predecessor version. By the combination of more than one ItemHistoryEntry a linear sequence of ItemVersions can be represented.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Type" type="vec:HistoryEntryType">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of relationship between the ItemVersions.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PredecessorVersion" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the ItemVersion that is the predecessor in the ItemHistoryEntry.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SuccessorVersion" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the ItemVersion that is the successor in the ItemHistoryEntry.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ItemVersion" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Abstract super-class for physical objects (e.g. a Terminal), virtual objects (e.g a 150% Harness) as well as documents (e.g a wiring diagram). In difference to AP 212 the VEC makes it only possible to describe/exchange information about Versions for the reason that Master-Objects cannot exist without one or more Versions.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for a short name of the Item. In case of a document the attribute is wanted to contain its title.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the ItemVersion. e.g. Buchsengehäuse 26-polig</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CompanyName" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the publishing company of the ItemVersion. The companyName is part of the main identifier of an ItemVersion together with the corresponding number (partNumber or documentNumber) and version (partVersion or documentVersion).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ProcessingInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Processing instructions for the application of the part or the document.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Contract" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the contracts that apply to an ItemVersion.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CopyrightInformation" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>CopyrightInformation</i>that is in effect for this<i>ItemVersion.</i>If no<i>CopyrightInformation</i>is referenced by the<i>ItemVersion</i>, the<i>CopyrightInformation</i>that is referenced by the<i>VecContent</i>(if defined) shall be considered as in effect for this<i>ItemVersion.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Approval" type="vec:Approval" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the approval information of the ItemVersion.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ChangeDescription" type="vec:ChangeDescription" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the change history of the ItemVersion.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Creation" type="vec:Creation" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the information about the creation of the ItemVersion.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="LocalizedString">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the internationalization of text contents. Attributes of the type LocalizedString normally have the multiplicity [0..*]. This means that such an attribute can have multiple values for different locales. It must not have multiple values for the same locale.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:AbstractLocalizedString"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="LocalizedStringProperty">
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="vec:LocalizedString">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the value of the<i>CustomProperty.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="LocalizedTypedString">
		<xs:annotation>
			<xs:documentation xml:lang="en">Allows the internationalization of text contents in a typed way. Attributes of the type LocalizedTypedString normally have the multiplicity [0..*]. This means that such an attribute can have multiple values for different locales and types. It must not have multiple values for the same locale and type.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:AbstractLocalizedString">
				<xs:sequence>
					<xs:element name="Type" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the<i>type</i>of the<i>LocalizedTypedString</i>. This allows the definition of a more detailed semantic than the semantic of the attribute itself with the type<i>LocalizedTypedString.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Location" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Location specifies a distinct position on a topology. Locations can be used for the placement of components or for the definition of Dimensions.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:DimensionAnchor">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the Location. The identification is guaranteed to be unique within the PlacementSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MatchingId" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies an identification for matching the location with a reference point of component (e.g. a cable channel).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacedPlacementPoints" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>PlacementPointReference</i>that is placed by this location.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Mapping">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The Mapping defines the concrete mapping two parts aliased as A &amp; B. For performance reasons the roles PartSideA and PartSideB are abbreviated to A &amp; B.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="A" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="B" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="SlotMapping" type="vec:SlotMapping" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MappingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of a PinMapping. A PinMapping allows the mapping between the Cavities of two independent ConnectorHousingSpecifications. This is for example needed to determine the Mating for an Inliner or for the Mating between an EE-Component and a ConnectorHousing. The PinMapping is a part master data.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Mapping" type="vec:Mapping" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MassInformation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the definition of mass information. Attributes of the type MassInformation normally have the multiplicity [0..*]. This means that such an attribute can have mass values for different determinationTypes and valueSources. It must not have multiple values for the same determinationType and valueSource.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="DeterminationType" type="vec:ValueDetermination" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the determination type of the mass information.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Value" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the mass as numerical value.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ValueSource" type="vec:MassInformationSource" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The<i>valueSource</i>defines in an OpenEnumeration the source from which the<i>MassInformation</i>has been retrieved. This information, in combination with the<i>ValueDetermination</i>gives a hint about the reliability of the<i>MassInformation</i>
						</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Material">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the definition of material information. Attributes of the type Material normally have the multiplicity [0..*]. This means that such an attribute can have material values for different<i>referenceSystems</i>. It must not have multiple values for the same<i>referenceSystems</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Key" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The key of the material in the corresponding material reference system.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ReferenceSystem" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the material reference system, which is defining possible values and the semantic of material keys.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Description" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>On optional human readable description of the material (e.g. the name).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="MatingDetail">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>If the mating of the two terminals is not unambiguously, a MatingDetail can specify the TerminalReceptions that are mated.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="FirstTerminalReception" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the first terminal reception that is mated.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SecondTerminalReception" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the second terminal reception that is mated.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MatingPoint">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A MatingPoint defines the Mating of two terminals. This normally occurs when two inliners are connected. Then terminals of one side (female) are mated with terminals of the other side (male).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the MatingPoint. The identification is guaranteed to be unique within the MatingSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FirstTerminalRole" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the first terminal that is mated.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SecondTerminalRole" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the second terminal that is mated.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MatingDetail" type="vec:MatingDetail" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the MatingDetails, if a detailed description of the relationships between TerminalReceptions and TerminalReceptions is needed.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MeasurementPoint">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines a reference point on a component that can be used to apply a Dimension. This is normally a significant point of the component e.g. an edge, a hole, a bolt or something similar.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the MeasurementPoint. The identification is guaranteed to be unique within a component.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MeasurementPointReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>MeasurementPointReference</i>is the instance of a<i>MeasurementPoint</i>in the context of an<i>OccurrenceOrUsage</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:DimensionAnchor">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the MeasurementPointReference. The identification is guaranteed to be unique within the containing PlaceableElementRole.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MeasurementPoint" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>MeasurementPoint</i>that is instanced by this<i>MeasurementPointReference.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModularSlot">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A ModularSlot is a place in a connector housing where different other connector housings can be placed during the assembly (e.g. by clicking them into the connector housing).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:AbstractSlot">
				<xs:sequence>
					<xs:element name="Optional" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies whether the allocation of the ModularSlot is optional or not (can a usage of the connector housing leave this ModularSlot empty.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AllowedInserts" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>PartVersions</i>that are valid inserts for this<i>ModularSlot.</i>
								</p>
								<p>This reference points to a<i>PartVersion</i>in order to allow referencing, if the description of individual<i>PartVersions</i>is done with one physical VEC file per<i>PartVersion.</i>However, inserts for a<i>ModularSlot</i>are always ConnectorHousings by itself. Therefore the referenced<i>PartVersion</i>shall have a<i>PrimaryPartType = ConnectorHousing</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModularSlotAddOn">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies the wire addon needed to reach a<i>ModularSlot</i>from a specific<i>SegmentConnectionPoint</i>. The addon needed to reach the cavities of the insert(s) from this point is defined by the<i>ConnectorHousingSpecification</i>of the insert.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="WireAddOn" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the wire length add on needed for the modular slot.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Slot" type="xs:IDREF"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="ModularSlotReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>ModularSlotReference</i>represents the usage of a<i>ModularSlot</i>in the context of PartUsage or PartOccurrence.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:AbstractSlotReference">
				<xs:sequence>
					<xs:element name="UsedInserts" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the inserts that are used in this<i>ModularSlotReference.</i>More than one insert is valid in the case variant dependent equipment of the slot.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModuleFamily">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A ModuleFamily is a mechanism to group mutually exclusive modules. This could be for example something like "audio equipment", "diesel engine".</p>
				<p>In other words, a module family groups different variants of the same basic feature. In a real car configuration only one member of the family can participate. For the example module family "audio equipment" the members may be named: "Basic Audio Equipment", "Standard Audio Equipment", "Premium / High End Audio Equipment".</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the ModuleFamily. The identification is guaranteed to be unique within the ModuleFamilySpecification. Over all VEC-documents a ModuleFamily-instance can be trusted to be the same if the ModuleFamilySpecification-instance is the same and the identification of the ModuleFamily is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the ModuleFamily.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ModuleInFamily" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Modules that belong to the ModuleFamily.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModuleFamilySpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of module families (see ModuleFamily).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ModuleFamily" type="vec:ModuleFamily" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ModuleFamilies defined in the ModuleFamilySpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModuleList">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A ModuleList is a mechanism to control additional / completition PartOccurrences. This means for a car configuration, if at least one of the modules in the list participates in the configuration, the "completitionComponent" participates, too.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the ModuleList. The identification is guaranteed to be unique within the ModuleListSpecification. Over all VEC-documents a ModuleList-instance can be trusted to be the same if the ModuleListSpecification-instance is the same and the identification of the ModuleList is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the ModuleList.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CompletionComponents" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the components that are used as completition, if any of the Modules in the ModuleList appears in a configuration.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ModuleInList" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Modules that belong to the ModuleList. If any of the referenced Modules participates in a configuration the completition components participate, too.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModuleListSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of module lists (see ModuleList).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ModuleListConfiguration" type="vec:ModuleList" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ModuleLists defined in the ModuleListSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MultiCavityPlugSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of cavity plugs that apply to more than one cavity. A cavity plug is a water tight non-electrical object to fill an empty cavity. MultiCavityPlugs are formed to fit into one connector / slot and to seal more than one cavity at once. Normally there are different variants of these MultiCavityPlugs that can seal a connector in different pinning scenarios. The cavities that are plugged by a MultiCavityPlug are defined with a SealedCavitiesAssignment.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CavityPlugSpecification">
				<xs:sequence>
					<xs:element name="Assignment" type="vec:SealedCavitiesAssignment" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>SealedCavitiesAssignments</i>that are valid for this<i>MultiCavityPlug</i>. One individual<i>SealedCavitiesAssignment</i>is used for each connector housing that matches witch this<i>MultiCavityPlug.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MultiCavitySealSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for cavity seals that apply to more than one cavity. A CavitySeal is a water tight non-electrical object to fill a populated Cavity. MultiCavitySeals are formed to fit into one connector / slot and to seal more than one cavity at once.</p>
				<p>There are existing two types of MultiCavitySeals:</p>
				<ol>
					<li>In first type the MultiCavitySeal has an opening for all cavities of the connector. Each opening can be filled either with a wire (without an individual seal) or with a CavityPlug (e.g. a synthetic pin) or a MultiCavityPlug.</li>
					<li>In the second type, the MultiCavitySeal has a specific configuration of openings for some cavities of the connector. These MultiCavitySeals are sealing all cavities with an opening and a wire in it and all cavities where no opening in the MultiCavitySeal exists. For each opening that has no wire it an additional CavityPlug is needed. </li>
				</ol>
				<p>The cavities that are left open by a MultiCavitySeal are defined with a SealedCavitiesAssignment.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CavitySealSpecification">
				<xs:sequence>
					<xs:element name="Assignment" type="vec:OpenCavitiesAssignment" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>OpenCavitiesAssignments</i>that are valid for this<i>MultiCavitySeal</i>. One individual<i>OpenCavitiesAssignment</i>is used for each connector housing that matches witch this<i>MultiCavitySeal.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MultiFuseSpecification">
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="FuseType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The type of a fuse. This should be an enumeration of values defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="IMaxTotal" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the maximum electric current tolerated by the multifuse in total.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FuseComponents" type="vec:FuseComponent" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Net">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Net is an undirected link between a number of<i>NetworkPorts</i>. It defines that the<i>NetworkPorts</i>are related to each other with the<i>Net</i>.</p>
				<p>A<i>Net</i>is normally an instance of a<i>NetType.</i> E.g. if "CAN-BUS" is defined as a a<i>NetType</i>typical<i>Nets</i>would be "BODY-CAN", "AUDIO-CAN".</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the Net. The identification is guaranteed to be unique within the NetSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the Net.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetType" type="xs:IDREF" minOccurs="0"/>
					<xs:element name="NetworkPort" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the NetworkPorts that are connected by the Net.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NetGroup">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A NetGroup allows the grouping of the Nets.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the NetGroup. The identification is guaranteed to be unique within the NetSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetGroupType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the group.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the NetGroup.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Net" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Nets that are grouped by the NetGroup.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NetSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of electrological nets.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Net" type="vec:Net" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Nets defined in the NetSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetGroup" type="vec:NetGroup" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the NetGroup defined in the NetSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetType" type="vec:NetType" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="NetworkNode" type="vec:NetworkNode" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the NetWorkNodes defined in the NetSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NetType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>NetType</i>defines the different types of Nets used in the<i>NetSpecification</i>. The level of detail of the<i>NetTypes</i>for the can be process dependent.</p>
				<p>A NetType could be just used to differentiate between conventional (analog) communication and bus communication (digital), it can also already define the different types of digital communication (e.g. CAN, MOST, Ethernet).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Identification" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies a unique identification of the NetType. The identification is guaranteed to be unique within the NetSpecification.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Room for additional, human readable information about the<i>NetType</i>.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="SignalType" type="vec:SignalType" minOccurs="0"/>
			<xs:element name="SignalSubType" type="vec:SignalSubType" minOccurs="0"/>
			<xs:element name="SignalInformationType" type="vec:SignalInformationType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="NetworkNode">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A NetworkNode is a representative for an actor in the electric system, e.g. an actuator, a sensor, an ECU</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the NetworkNode. The identification is guaranteed to be unique within the NetSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for a short name of the NetworkNode.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetworkNodeType" type="vec:NetworkNodeType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of a NetworkNode. Common values are agreed as an<i>OpenEnumeration</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the NetworkNode.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RealizedUsageNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>UsageNode</i>that is realized by this<i>NetworkNode</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Port" type="vec:NetworkPort" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the NetworkPorts of a NetworkNode.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NetworkPort">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>NetworkPort is the source or the receiver of a of a Net.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the NetworkPort. The identification is guaranteed to be unique within the NetSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SignalDirection" type="vec:SignalDirection" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the direction of the signal on this NetworkPort.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the NetworkPort.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetType" type="xs:IDREF" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NodeLocation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies a TopologyNode as a Location.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Location">
				<xs:sequence>
					<xs:element name="ReferencedNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TopologieNode on which the Location is located.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NumericalValue">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A quantity expressed with a numerical value and a unit.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ValueWithUnit">
				<xs:sequence>
					<xs:element name="ValueComponent" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the value of the numerical value.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Tolerance" type="vec:Tolerance" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the tolerance for the dimension.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NumericalValueProperty">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A custom property with a numerical value. (see KBLFRM-319)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="vec:NumericalValue">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the value of the<i>CustomProperty.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OccurrenceOrUsage" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An OccurrenceOrUsage is an abstract appearance of a part in the harness. This can either be a concrete part (with a part number a.s.o) or the description (specification / requirements) of a part that should be used at that position. In the first case it would be a PartOccurrence in the second case a PartUsage.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the OccurrenceOrUsage. The identification is guaranteed to be unique within the context. Over all VEC-documents an OccurrenceOrUsage-instance can be trusted to be the same if the context-instance is the same and the identification of the OccurrenceOrUsage is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room to specify additional identifiers for the OccurrenceOrUsage.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies an abbreviation of the<i>OccurrenceOrUsage</i>. Normally this a human readable short name.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional, human readable information about the OccurrenceOrUsage.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RealizedUsageNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>UsageNode</i>that is realized by this<i>OccurrenceOrUsage</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InstallationInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Room to specify InstallationInstruction(s) for the OccurrenceOrUsage.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Role" type="vec:Role" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the different roles of the OccurrenceOrUsage.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OccurrenceOrUsageViewItem2D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An OccurrenceOrUsageViewItem2D specifies the representation of a OcurrenceOrUsage in a 2DDrawing.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the OccurrenceOrUsageViewItem. The identification is guaranteed to be unique within the BuildingBlockSpecification2D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional identifiers for the OccurrenceOrUsageViewItem2D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GridSquare" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the grid square in which the OccurrenceOrUsageViewItem2D is placed (e.g. E/40).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="OccurrenceOrUsage" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the OccurrenceOrUsage which is represented by the view item.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Orientation" type="vec:Transformation2D" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the orientation of the view item.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OccurrenceOrUsageViewItem3D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An OccurrenceOrUsageViewItem3D specifies the representation of an OcurrenceOrUsage in a 3D-model.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the OccurrenceOrUsageViewItem. The identification is guaranteed to be unique within the BuildingBlockSpecification3D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional identifiers for the OccurrenceOrUsageViewItem3D.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="OccurrenceOrUsage" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the OccurrenceOrUsage which is represented by the view item.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Orientation" type="vec:Transformation3D" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the orientation of the view item.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OnPointPlacement">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An OnPointPlacement is a placement of an OccurrenceOrUsage that places it onto discrete points, in most cases one point. In some cases it is necessary to place a component (with more than one reference point) onto multiple points (e.g. a cable channel).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Placement">
				<xs:sequence>
					<xs:element name="Location" type="vec:Location" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Locations where Placement places the reference points of the placed element.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OnWayPlacement">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An OnWayPlacement places an OccurrenceOrUsage onto an area of the Topology (e.g. a tape or a tube). The area is defined by a startLocation and an endLocation. If startLocation and endLocation are not located on the same TopologySegment it is possible to specify a Path of TopologySegments over which the OnWayPlacement goes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Placement">
				<xs:sequence>
					<xs:element name="EndLocation" type="vec:Location">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Location where OnWayPlacement ends.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Path" type="vec:Path" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the topology path defining the way the OnWayPlacement takes in the topology.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="StartLocation" type="vec:Location">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Location where OnWayPlacement starts.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OpenCavitiesAssignment">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>An OpenCavitiesAssignment groups the cavities of ONE connector that are open in a MultiCavitySeal. If a MultiCavitySeal fits into more than one connector, than there are as many OpenCavitiesAssignments.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="OpenCavities" type="xs:IDREFS">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the cavities that are open.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="OtherUnit">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The OtherUnit class can be used to define a unit, which is necessary in the context of data exchange but not contained in the standard systems (e.g. Piece).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="OtherUnitName" type="vec:OtherUnitName">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the name of the unit.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartOccurrence">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A PartOccurrence is an instance of a component with a specified part number (PartVersion).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:OccurrenceOrUsage">
				<xs:sequence>
					<xs:element name="IsSecondaryAlternative" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>If a PartUsage is realized by more than one PartOccurrence it is possible to specify which one is the preferred. (see KBLFRM-264)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AlternativeOccurrence" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the PartOcurrences that are an alternative for this PartOccurrence.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InstanciatedOccurrence" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the PartOccurrence which is instantiated by the PartOccurrence. This reference is for example needed in the case of usage of assemblies.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Part" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the PartVersion that is instantiated by this PartOccurrence.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RealizedPartUsage" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the PartUsage that is realized by the PartOccurrence.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferenceElement" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the PartOcurrence for which this PartOccurrence is an accessory.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartOrUsageRelatedSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Base class for all specifications which are describing a<i>PartVersion</i>or a<i>PartUsage</i>. A<i>PartOrUsageRelatedSpecification</i>specifies a certain aspect of the described part or usage (e.g. general technical part information, connector housing aspects or wire aspects).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="SpecialPartType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The specialPartType allows the specification of subclassifications for a PartOrUsageRelatedSpecification (e.g. different types of connector housings).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DescribedPart" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the PartVersion(s) to which the information defined in this specification applies. Example: If the PartOrUsageRelatedSpecification is a GeneralTechnicalPartSpecifcation and it defines that the color is "green" then all PartVersion referenced by this association are "green".</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartRelation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A PartRelation can define Accessories to a specific Part. For example a fixing can need an additional cable tie. Accessories can either be mandatory, optional or one out of a group. (see KBLFRM-311)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="RelationType" type="vec:PartRelationType">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the type of the relation.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AccessoryPart" type="xs:IDREFS">
				<xs:annotation>
					<xs:documentation xml:lang="en">References the PartVersions that are related by the PartRelation.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PartStructureSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of a part structure. This specification defines what PartOccurrences are actually in the bill of material of the described PartOrUsage. This is necessary, because it is possible, that for a definite description a Part more PartOccurrences are needed than the ones that are in the bill of material (see CompositionSpecification).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Content" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of content of the bill of material (e.g. module, harness complete set)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InBillOfMaterial" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the PartOccurrences that are building the bill of material of a composite part.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartSubstitutionSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>PartSubstitutionSpecification</i>defines a set of<i>PartVersions</i>that can be used alternatively, due to an incomplete specification for the 150% product description. For a concrete wiring harness only on valid<i>PartVersion</i>remains. The selection logic for valid<i>PartVersions</i>is not included in the VEC.</p>
				<p>A<i>PartSubstitutionSpecification</i>can be used for example tubes or ring terminals, where a part of the specification is known at design time, but not yet the complete specification. For tubes for example the tube diameter is not known at design time, since it depends on the bundle diameter of a specific configuration.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="AlternativePartVersions" type="xs:IDREFS" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartUsage">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>PartUsages shall be used for the specification of the elements on an electrical system wiring plan and for the specification of the elements on a pure geometry description. PartUsages shall more than ever be used in cases where it is necessary to describe a certain instance of a part or part group, possibly together with certain technical properties, but where it is at the same time yet not possible to define a concrete part number.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:OccurrenceOrUsage">
				<xs:sequence>
					<xs:element name="PrimaryPartUsageType" type="vec:PrimaryPartType">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The primary type of the PartUsage defines the type of the described part (e.g. ConnectorHousing, Fixing, etc.) Since the VEC supports dual use parts (e.g. Fixing &amp; WireProtection) there is no direct connection between the primaryPartUsageType and the allowed specifications for the description of a PartUsage.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PartOrUsageRelatedSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the PartOrUsageRelatedSpecification(s) that describe the PartOrUsageRelatedSpecification. KBLFRM-399</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PartSubstitution" type="xs:IDREF" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartUsageSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of PartUsages.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="PartUsage" type="vec:PartUsage" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the PartUsages defined by the PartUsageSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartVersion">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The PartVersion is one of the two anchors for PDM information in the VEC. All technical information about a PartVersion is contained in one or more documents. These describing elements are normally referencing to the PartVersion.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ItemVersion">
				<xs:sequence>
					<xs:element name="PartNumber" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The partNumber is the major identifier of a PartVersion. The format is user defined and respectively company specific. Over all VEC-documents a PartVersion-instance can be trusted to be identical if the combination of partNumber, partVersion and companyName is identical.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PartVersion" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The partVersion specifies the version index of a part (see also partNumber).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PrimaryPartType" type="vec:PrimaryPartType">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The primary type of the part defines the type of the part (e.g. ConnectorHousing, Fixing, etc.) Since the VEC supports dual use parts (e.g. Fixing &amp; WireProtection) the primary part type is necessary to define which specification associated to part is the primary character of the part. Therefore all primary part types correspond to a PartOrUsageRelatedSpecification (e.g. ConnectorHousing --&gt; ConnectorHousingSpecification).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="IsPreferredPart" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Flags a part as "preferred" by the means of being a preferred part out of a group of parts with identical technical properties. The preferred part should be used, if the other properties of a couple of parts do not allow a distinct decision. (see KBLFRM-311)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PreferredUseCase" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the function for which the part was initially designed. (e.g. "Grommet for Hatch", "...passenger compartment",...) This is an important information for searching and selecting parts in the context of KOMP.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room to specify additional identifiers for the PartVersion. This field must not be used for alternative PartNumbers. It is intended for identifiers others than PartNumbers, such as human readable identifiers printed on the part e.g. a number of fuse or a relay. Therefore it does not have to be strictly unique.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Nature" type="vec:PartNature" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The<i>nature</i>specifies how the<i>PartVersion</i>can be used in the different processes or the significance of the<i>PartVersion</i>in the process.</p>
								<p>The<i>nature</i>of a<i>PartVersion</i>is normaly inherent and does not change. If the<i>nature</i>the underlying part changes a new (other)<i>partNumber</i>is assigned to the part and respectively a new<i>PartVersion</i>is created.</p>
								<p>It used to differentiate for example normal (productive) part numbers from preliminary (prototypic) part numbers.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Project" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the project that develops the PartVersion.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartWithSubComponentsRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A PartWithSubComponentsRole defines the instance specific properties and relationships of a part with subcomponents. A PartWithSubComponents is a composite part like an Assembly, a Module, Harness.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="PartStructureSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>PartStructureSpecification</i>that is instantiated by this<i>PartWithSubComponentsRole</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SubComponent" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the subcomponents that belong to this instance of a PartWithSubComponents.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Path">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Describes a path in the topology. A<i>Path</i>is a continuous way through a topology without interruptions, defined by an ordered list of<i>TopologySegments</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Segment" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies an ordered list of TopologySegments the routing goes through.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PathSegment">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A PathSegment is a part of the 2D presentation of a GeometrySegment2D. The complete presentation of a GeometrySegment2D is built from an ordered list of PathSegments. Each PathSegment has an ordered list of control points through which the path goes. If no curveRadius is specified the control points are connected by a direct straight lines. If a curveRadius is specified, the PathSegment can be drawn by a segment of a circle which touches all control points and has the radius specified.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CurveRadius" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The radius of the curve which describes the appearance of the path segment.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ControlPoint" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">The ordered list of control points through which the PathSegment goes.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Permission">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Describes an act of acceptance together with information about the responsible person, department and company who directly provoked the approval level and status as described in the referenced Approval-instance. (see KBLFRM-229)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Permission" type="vec:TypeOfPermission">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of permission. Predefined values are: Seen, Checked, Released.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PermissionDate" type="xs:dateTime" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the date when the permission was stated.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Permitter" type="vec:Person" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the person who was involved in the approval process giving a certain Permission.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Person">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies all relevant data of a person.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="CompanyName" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the name of the company the person belongs to.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Department" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the department the person belongs to.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="FirstName" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the person's first name.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="LastName" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the person's last name.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PhoneNumber" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the person's phone number.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="EmailAddress" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the person's email address.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies identifiers for the<i>Person</i>in different contexts.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PinComponent">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A PinComponent describes a pin of an EEComponent. A PinComponent is part of a HousingComponent and is defined by tree aspects.</p>
				<ol>
					<li>Its geometric position in the<i>HousingComponent</i>, which is defined by the<i>referencedCavity.</i>
					</li>
					<li>Its physical electrical properties, which are defined by the referenced<i>TerminalSpecification.</i>
					</li>
					<li>Its electrical behaviour, which is defined configuration dependent by its<i>PinComponentBehaviour.</i>
					</li>
				</ol>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Identification of the PinComponent, which must be distinct for all PinComponent of a HousingComponents.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional, human readable information about the<i>PinComponent</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PinComponentType" type="vec:PinComponentType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of a<i>PinComponent</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PinSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TerminalSpecification describing the electrical connectivity aspect of the PinComponent. (see KBLFRM-300)</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedCavity" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Defines the cavity in the corresponding ConnectorHousingSpecification of the HousingComponent where the PinComponent is located. (see KBLFRM-300)</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Behaviour" type="vec:PinComponentBehavior" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the configuration dependent electrical behavior of the<i>PinComponent.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PinComponentBehavior">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>PinComponentBehavior</i>specifies the electrical behavior of a<i>PinComponent.</i>Since the behavior of a pin is configuration dependent (e.g. the software deployed on an ECU) the<i>PinComponentBehavior</i>inherits from<i>ConfigurableElement.</i>Therefore a<i>PinComponent</i>can specify multiple<i>PinComponentBehavior.</i>
				</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Identification of the PinComponentBehavior which identifies it from a user perspective and which must be distinct for all PinComponentBehaviors of a PinComponent.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SignalDirection" type="vec:SignalDirection" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The direction of the signal on this pin.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PinType" type="vec:PinType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>PinType</i>of the<i>PinComponent</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ApplianceType" type="vec:PinApplianceType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional, human readable information about the<i>PinComponentBehaviour</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>Signal</i>associated with the pin in this behavior.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CurrentInformation" type="vec:PinCurrentInformation" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the current information of the<i>PinComponent</i>in this<i>PinComponentBehavior</i>. Since the current values of a pin can be defined for different types and times it is possible to define multiple<i>PinCurrentInformations</i>for a<i>PinComponentBehavior</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="OpticalInformation" type="vec:PinOpticalInformation" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the optical information of the pin, if it has the type optical.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="VoltageInformation" type="vec:PinVoltageInformation" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the voltage information of the<i>PinComponent</i>in this<i>PinComponentBehavior</i>. Since the voltage values of a pin can be defined for different types and times it is possible to define multiple<i>PinVoltageInformations</i>for a<i>PinComponentBehavior</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PinComponentReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A PinComponentReference represents the usage of a PinComponent in the context of a PartUsage or PartOccurrence. (KBLFRM-401)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the PinComponentReference. The identification is guaranteed to be unique within the HousingComponentReference.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PinComponent" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">Points to the PinComponent referenced by the PinComponent reference. (KBLFRM-401)</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalRole" type="vec:TerminalRole" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TerminalRole of PinComponentReference. This is required to specify a Mating for EEComponents with other EEComponents or a Harness. (KBLFRM-401)</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PinCurrentInformation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the definition of currents for a pin of an EEComponent. A current can be further specified by a duration. Attributes of the type PinCurrentInformation normally have the multiplicity [0..*]. This means that such an attribute can have PinCurrentInformation entries for different types and durations. It must not have multiple entries for the same type and duration.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Type" type="vec:PinCurrentType">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Defines the type of the current.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Current" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The current of the pin.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Timing" type="vec:PinTiming" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the timing of the<i>PinCurrentInformation.</i>
						</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PinOpticalInformation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the specification of optical information in a PinComponentBehavior.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Frequency" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The frequency of the optical signal.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Attenuation" type="vec:NumericalValue" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The attenuation of the optical pin at the defined frequency.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PinTiming">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies the timing for a<i>PinCurrentInformation</i>or a<i>PinVoltageInformation</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Type" type="vec:PinTimingType">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the type of the timing.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Time" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the time value of the timing.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PinVoltageInformation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the definition of voltages for a pin of an<i>EEComponent</i>. A current can be further specified by a duration. Attributes of the type<i>PinVoltageInformation</i>normally have the multiplicity [0..*]. This means that such an attribute can have<i>PinVoltageInformation</i>entries for different types and durations. It must not have multiple entries for the same type and duration.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Type" type="vec:PinVoltageType">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Defines the type of the voltage.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Voltage" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The voltage of the pin.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Timing" type="vec:PinTiming" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the timing of the<i>PinVoltageInformation</i>.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PlaceableElementRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A PlaceableElementRole defines the instance specific properties and relationships of a PlaceableElement.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="PlaceableElementSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>PlaceableElementSpecification</i>that is instanced by this<i>PlaceableElementRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MeasurementPointReference" type="vec:MeasurementPointReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacementPointReference" type="vec:PlacementPointReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PlaceableElementSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the general aspects of a component that are enabling the component to be placed in a topology. All components that should have the ability to be placed on a certain position in the topology must have a PlaceableElementSpecification</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="ValidPlacementTypes" type="vec:PlacementType" maxOccurs="2">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the<i>PlacementTypes</i>that are valid for this element.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MeasurementPoint" type="vec:MeasurementPoint" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>MeasurementPoints</i>of an<i>PlaceableElement</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacementPoint" type="vec:PlacementPoint" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>PlacementPoints</i>of an<i>PlaceableElementSpecification</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Placement" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A placement defines the placement of a PlaceableElementRole onto a Topology. For the definition of the place on the Topology, Locations are used. A Placement can either be a placement on discrete points (OnPointPlacement) or on an area of the topology (OnWayPlacement).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the Location. The identification is guaranteed to be unique within the PlacementSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Type" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room to specify additional type information of the placement.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="IsOnTopOf" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies constraints on ordering of Placements. All referenced Placements have to be below (nearer to the center of the Segment) this Placement. (see KBLFRM-171)</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacedElement" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the PlaceableElementRoles placed by the Placement.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PlacementPoint">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines a point on the component which can be placed explicitly in the topology (e.g. opening in a grommet, the entry point of a connector housing). If a PlacementPoint requires further specification for a certain component type (e.g. the entry point of a connector housing), this is done by an element specific for the component type, which related to the placement point.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the PlacementPoint. The identification is guaranteed to be unique within a component.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SegmentDiameter" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the valid segment diameter range for which this<i>PlacementPoint</i>is suitable.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PlacementPointReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>PlacementPointReference</i>is the instance of a<i>PlacementPoint</i>in the context of an<i>OccurrenceOrUsage</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the PlacementPointReference. The identification is guaranteed to be unique within the containing PlaceableElementRole.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacementPoint" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>PlacementPoint</i>that is instanced by this<i>PlacementPointReference.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PlacementSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of placements.<i>Placements</i>are used to connect<i>OccurrenceOrUsages</i>with a topology.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Dimension" type="vec:Dimension" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Dimensions defined by the PlacementSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Placement" type="vec:Placement" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Placements defined by the PlacementSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PluggableTerminalRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A PluggableTerminalRole defines the instance specific properties and relationships of a pluggable terminal.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:TerminalRole"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PluggableTerminalSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of pluggable terminals.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:TerminalSpecification">
				<xs:sequence>
					<xs:element name="TerminalType" type="vec:PluggableTerminalType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the type of the terminal. The type defines constraints about the numbers of wire and terminal receptions and their relations.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PotentialDistributorSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en"/>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="Screwable" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines if the<i>PotentialDistributor</i>can be screwed by itself to be fixed. This fixation is a non-electrical connection. If the<i>PotentialDistributor</i>can be fixated electrical (like a ring terminal) it shall have one<i>PinComponent</i>with a<i>RingTerminalSpecification</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BoltDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the diameter of the bolt for which the potential distributor is designed for.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BoltType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the bolt. This should be an enumeration of values defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PowerConsumption">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the power consumption of an<i>EEComponent</i>. An<i>EEComponent</i>can have multiple different<i>PowerConsumptions</i>e.g. standby, maximum. An<i>EEComponent</i>can have multiple<i>PowerConsumptions</i>, but must not have more than one<i>PowerConsumptions</i>of the same<i>type</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Type" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The type of a<i>PowerConsumption</i>. This should be an enumeration of values defined in a conformance class.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Value" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the power consumption for this type of<i>PowerConsumption</i>.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Project">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies a certain vehicle project. Instances of this class are assumed to be constant. Thus this is located directly under VEC-root element.</p>
				<p>A vehicle project can be some abstract or concrete node in the product structure, addressed by the car classification levels.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CarClassificationLevel2" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Provides a classification according to "CC8 Recommended Practices Specification and Configuration, Product Structures". Car classification is the identification of a set of similar cars to be offered to the market. Level 2 stands for "Technical information / platform" and reflects the level of a product class in a BoM system which represents a main technical product base (e.g. project, platform, engineering series etc.). In some cases this level carries a complete BoM ("Maximum BoM") for a project, platform, engineering series etc. This level is in some cases called technical documentation.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CarClassificationLevel3" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Provides a classification according to "CC8 Recommended Practices Specification and Configuration, Product Structures". Car classification is the identification of a set of similar cars to be offered to the market. Level 3 stands for "Configuration information / product family" where all variant control mechanism are attached.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CarClassificationLevel4" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Provides a classification according to "CC8 Recommended Practices Specification and Configuration, Product Structures". Car classification is the identification of a set of similar cars to be offered to the market. Level 4 stands for "Furthest pre-configured abstract product class" and represents the furthest configured class of a product, which is not yet a real product. E.g. this could be a complete vehicle, engine, gear-box etc. which has not been evaluated against customer special choices or an abstract vehicle, engine, gear-box etc. which could become a real one after the associated BoM is evaluated. The purpose of this level of a product class instance is in any case to reflect that level of product class of a BoM system which leads to the individual BoM for a single product.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the development order number (car or engine project)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional information about the item.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RelaySpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification of the electrological aspects of a relay.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="IMax" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the maximum current allowed for the relais.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RelaisType" type="vec:RelaisType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The type of the relay (switching behaviour). This is an OpenEnumeration, for values see<i>RelaisType.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LowNoise" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines if the relais switch with low noise / silently or not.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ApplianceType" type="vec:RelaisApplianceType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the appliance type of a relais.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RingTerminalRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A RingTerminalRole defines the instance specific properties and relationships of a ring terminal.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:TerminalRole"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RingTerminalSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of ring terminals.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:TerminalSpecification">
				<xs:sequence>
					<xs:element name="BoltDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the diameter of the bolt for which the ring terminal is designed for.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Thickness" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the thickness of the contact surface of the ring terminal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BoltType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the bolt. This should be an enumeration of values defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="OutsideDimension" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the diameter of the circle around the center of the bolt which passes through the farthest outside point of the contact surface of the ring terminal. (see KBLFRM-311)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TorsionProtection" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if the ring terminal is torsion protected or not. (see KBLFRM-311)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RobustnessProperties">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the definition of robustness properties. Robustness of component is specified as a level of robustness against a specific influence (e.g. oil, water, UV-light). The influence is specified by the<i>class</i>and the level is specified by the<i>classKey</i>. Valid robustness classes and keys are specified by the reference system. Attributes of the type RobustnessProperties normally have the multiplicity [0..*]. This means that such an attribute can have RobustnessProperties entries for different<i>classReferenceSystems</i>and<i>classes</i>. It must not have multiple entries for the same<i>class</i>and<i>classReferenceSystem</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Class" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the identifier of a robustness class defined by the robustness class reference system. Robustness classes are for example: oil, petrol, UV, water.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ClassKey" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies a key for the robustness level defined in the specified robustness class (e.g. A, B, C).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ClassReferenceSystem" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the robustness class reference system, which is defining possible values and the semantic of robustness classes and robustness class keys.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="HasRobustness" type="xs:boolean">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies if the described element has a robustness in the specified robustness class. (see KBLFRM-260)</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Description" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>On optional human readable description of the robustnes (e.g. the name).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Role" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Role is the corresponding mechanism for OccurrenceOrUsages to the PartOrUsageRelatedSpecifcations for PartVersions or PartUsages. The PartOrUsageRelatedSpecifcations are describing a certain aspect of the master data of a part. A Role describes the corresponding properties and relationships for instances of a part (e.g. the usage specific properties of a wire occurrence like the length or the contacting).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the Role. The identification is guaranteed to be unqiue within the OccurrenceOrUsage.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RoutableElement" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A RoutableElement is an element that can be routed, which mean it is possible to assign it to a Path in the Topology.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Routing">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Routing is the assignment of a RoutableElement (Connection or WireElementReference) to a path in the topology.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the Routing. The identification is guaranteed to be unique within the RoutingSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SpecialRoutedComment" type="vec:LocalizedString" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Allows the specification of an explanation why this routing has been routed in a special way.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SpecialRouted" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies that routing has been created in a special way. This means it has not been calculated in the standard way, because for some reason the result of the standard calculation has been inconvenient.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MandatorySegment" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies some constraints for the routing. If the path of the routing is recalculated the referenced segments must be visited.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RoutedElement" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Element that is routed.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Path" type="vec:Path">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies a Path on the topology that is used for the routing.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RoutingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of Routings.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Routing" type="vec:Routing" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Routings described by the RoutingSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SIUnit">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The SIUnit class can define quantities in the terms of the SI-Unit-System by specifying the corresponding SI prefix (optional) and a SI unit name. The usage of SI units must be the preferred way of expressing units, since these units can be easily translated into other SI units.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="SiUnitName" type="vec:SiUnitName">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the name of SI unit (e.g. metre, second,...)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SiPrefix" type="vec:SiPrefix" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the prefix of the SI unit (e.g. milli, centi, mirco,...)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SealedCavitiesAssignment">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>SealedCavitiesAssignment</i>groups the cavities of ONE connector that are sealed by a MultiCavityPlug. If a MultiCavityPlug fits into more than one connector, than there are as many<i>SealedCavitiesAssignments</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SealedCavities" type="xs:IDREFS">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the Cavities that are sealed.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SealingClass">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the definition of a sealing class. The sealing class of a component is specified as a level of sealing against a specific influence. The influence is specified by the sealingClass and the level is specified by the sealingClassKey. Valid sealing classes and keys are specified by the reference system. Attributes of the type SealingClass normally have the multiplicity [0..*]. This means that such an attribute can have SealingClass entries for different sealingClassReferenceSystems and sealingClasses. It must not have multiple entries for the same sealing class and reference system.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Class" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the identifier of a sealing class defined by the sealing class reference system.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ClassKey" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies a key for the sealing level defined in the specified sealing class (e.g. A, B, C).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ClassReferenceSystem" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the sealing class reference system, which is defining possible values and the semantic of sealing classes and sealing class keys.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>On optional human readable description of the sealing class (e.g. the name).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SegmentConnectionPoint">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies a point where the connector can be attached to the topology (sometimes called bundle position point or insertion point).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the SegmentConnectionPoint. The identification is guaranteed to be unique within the ConnectorHousingSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>PlacementPoint</i>that represents this<i>SegmentConnectionPoint</i>in a<i>PlaceableElementSpecification.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReachableCavities" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>Cavities</i>that are reachable with wires through this<i>SegmentConnectionPoint.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ModularSlotAddOns" type="vec:ModularSlotAddOn" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="CavityAddOns" type="vec:CavityAddOn" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SegmentCrossSectionArea">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies the cross section area of a segment. For the data exchange the cross section area is used and not the diameter, because the diameter is only a valid measure for circular segments. For circular segments, the diameter and the cross section area can be translated into each other without the loss of information. Attributes of the type SegmentCrossSectionArea normally have the multiplicity [0..*]. This means that such an attribute can have SegmentCrossSectionArea entries for different crossSectionAreaTypes and valueDeterminations. It must not have multiple entries with the same crossSectionAreaType and valueDetermination.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Area" type="vec:NumericalValue">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the value of the cross section area of the segment.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ValueDetermination" type="vec:ValueDetermination">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the method for determination of the value.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CrossSectionAreaType" type="vec:SegmentCrossSectionAreaType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the cross section area of the segment. Different types are for example needed to differentiate between the designed space of a segment and the actually needed space (e.g. calculated from the wires going through the segment).</p>
								<p>Attribute is defined as an<i>OpenEnumeration.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SegmentLength">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies the length of a segment. Attributes of the type SegmentLength normally have the multiplicity [0..*]. This means that such an attribute can have SegmentLength-entries for different classifications. It must not have multiple entries with the same classification.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Length" type="vec:NumericalValue">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the length of the TopologySegment.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Classification" type="vec:LengthClassification">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the classification of the segment length.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SegmentLocation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies a point on a TopologySegment as a Location.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Location">
				<xs:sequence>
					<xs:element name="Offset" type="vec:NumericalValue">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the offset / distance of the Location to the anchor of the location.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Anchor" type="vec:AnchorType">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<i>TopologySegment</i>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedSegment" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TopologieSegment on which the Location is located.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SheetOrChapter">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Documents can be structured into sheets or chapters. Since it is possible, that one document describes a couple of parts it is necessary to be able to specify which sheet or chapter contains the description of which part. (see KBLFRM-308)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The identification of the sheet or chapter within the document. This value must be distinct within the context of a document.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SheetNumber" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The sheetNumber is the major identifier of a SheetOrChapter. The format is user defined and respectively company specific. This field has to be used if a SheetOrChapter has its own "DocumentNumber".</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SheetVersion" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The sheetVersion specifies the version index of a sheet (see also sheetNumber)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Room for additional, human readable information about the SheetOrChapter.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SheetFormat" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the format (e.g. size) of the SheetOrChapter.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedPart" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">The association is an informative link which PartVersions are described by the SheetOrChapter.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ChangeDescription" type="vec:ChangeDescription" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the change history of the SheetOrChapter.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Specification" type="vec:Specification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Specifications contained in the SheetOrChapter. All structured, technical information in the VEC is described by such Specifications.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ShieldSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies the properties of a shield.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConductorSpecification">
				<xs:sequence>
					<xs:element name="OpticalTissueDensity" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the optical tissue density of the strands of a shield. This is defined as a value in percentage.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WindingType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the type of winding of the shield. E.g. if the shield is a sheet, it can be folded around the inner elements and along them like a cigarette paper or it can be winded around them like the taping of a harness. Both types result in different manufacturing and EMC properties.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ShrinkableTubeSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification of tubes that are shrinkable.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:TubeSpecification">
				<xs:sequence>
					<xs:element name="ShrinkingFactor" type="xs:double" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the factor of shrinking for the tube.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MaximumLongitudinalShrinkage" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the shrinkage in longitudinal direction.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Resin" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the material of the resin usable for this shrinkable tube.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WaterAbsorbtion" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the water absorption of the shrinkable tube specification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Signal">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies a signal.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="SignalName" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="ClampName" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional identifiers for the<i>Signal</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>A human readable description of the signal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SignalInformationType" type="vec:SignalInformationType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the information type of the signal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SignalTransmissionMediumType" type="vec:SignalTransmissionMediumType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the transmission medium for the signal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SignalForm" type="vec:SignalForm" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the form of the signal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SignalCurve" type="vec:SignalCurve" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the curve of the signal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SignalType" type="vec:SignalType" minOccurs="0"/>
					<xs:element name="SignalSubType" type="vec:SignalSubType" minOccurs="0"/>
					<xs:element name="NominalVoltage" type="vec:NominalVoltage" minOccurs="0"/>
					<xs:element name="NetType" type="xs:IDREF" minOccurs="0"/>
					<xs:element name="RecommendedConductorSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines a recommended Specification for the cores that implement this signal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RecommendedInsulationSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines a recommended Specification for the insulation (e.g. the color) that implements this signal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SignalSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of a list of valid signals.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Signal" type="vec:Signal" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the signals.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SimpleValueProperty">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A custom property with a simple value (string).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the value of the<i>CustomProperty.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Size">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the size of an element by width &amp; height. Per definition is width &gt; height.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Width" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The width of the element.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Height" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The height of the element.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Slot">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A slot is a group of cavities in a connector housing with own properties. The design of a slot is described in a SlotSpecification.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:AbstractSlot">
				<xs:sequence>
					<xs:element name="ColorInformation" type="vec:Color" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the color of the slot.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SealingType" type="vec:SlotSealingType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the sealing of the slot, if sealed. The values are defined in an<i>OpenEnumeration</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PermittedTerminalSupplierCompanyNames" type="xs:string" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>If this attribute is defined, it is only permitted to use terminals of one of the listed terminal suppliers.</p>
								<p>The used company name shall be same as the one used as<i>PartVersion.companyName</i>for part numbers of this supplier.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Cavity" type="vec:Cavity" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the Cavities forming the Slot.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SlotCoupling">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>SlotCoupling</i>defines the mapping between two slots of the<i>ConnectorHousingRoles</i>associated with the<i>CouplingPoint</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="FirstSlot" type="xs:IDREF"/>
					<xs:element name="SecondSlot" type="xs:IDREF"/>
					<xs:element name="CavityCoupling" type="vec:CavityCoupling" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SlotLayout">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>For regularly laid out slots the slot layout describes the positions of the cavities</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="GridX" type="vec:NumericalValue" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The horizontal distance between the center points of two cavities.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GridY" type="vec:NumericalValue" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The vertical distance between the center points of two cavities.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="RowCount" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The number of cavity rows of the slot.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SlotMapping">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the mapping of two slots contained PartVersion A &amp; B of the containing Mapping-object.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="IdentificationA" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the Slot on side A</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="IdentificationB" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the Slot on side B</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CavityMapping" type="vec:CavityMapping" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en"/>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SlotReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>SlotReference</i>represents the usage of a<i>Slot</i>in the context of PartUsage or PartOccurrence.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:AbstractSlotReference">
				<xs:sequence>
					<xs:element name="CavityReference" type="vec:CavityReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the CavityReferences used in the SlotReference.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SlotSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of slots.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="EmvProtectionRequired" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies whether the slot needs EMV protection.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Gender" type="vec:SlotGender" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the gender of the slot. This should be an enumeration of values defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LayoutType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the slot's layout type. This should be an enumeration of values defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SecondaryLocking" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies whether the slot supports secondary locking.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NumberOfCavities" type="xs:integer">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The possible number of cavities in the layout defined by the SlotSpecification. This includes all cavities in the layout. The actual Slot can define specific cavities in the layout as "not available".</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SlotLayout" type="vec:SlotLayout" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the layout associated with this slot.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SoundDampingClass">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the definition of a sound damping class. The sound damping class of a component is specified as a level of sound damping. The level is specified by the<i>classKey</i>. Valid keys are specified by the<i>referenceSystem</i>. Attributes of the type<i>SoundDampingClass</i>normally have the multiplicity [0..*]. This means that such an attribute can have<i>SoundDampingClass</i>entries for different<i>referenceSystems</i>. It must not have multiple entries for the same<i>referenceSystem</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ClassKey" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies a key for the level defined in the sound damping class (e.g. A, B, C).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ReferenceSystem" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The identification of the sound damping class reference system, which is defining possible values and the semantic of sound damping keys.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SpecificRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A SpecificRole is the possibility to define instance specific properties with custom properties (see ExtendableElement). This is necessary, if the part is described by custom properties of a PartOrUsageRelatedSpecification.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="SpecificRoleType" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type for role.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Specification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>PartOrUsageRelatedSpecification</i>that is instantiated by this<i>SpecificRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Specification" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Abstract super-class for all specifications. Every technical information exchanged with the VEC is contained in the different specializations of a specification.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the specification. The identification is guaranteed to be unique within the document containing the specification. Over all VEC-documents a Specification-instance can be trusted to be identical if the DocumentVersion-instance is the same (see DocumentVersion) and the identification of the Specification is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional, human readable information about the specification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SpliceTerminalRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A SpliceTerminalRole defines the instance specific properties and relationships of a splice terminal.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:TerminalRole">
				<xs:sequence>
					<xs:element name="SpliceType" type="vec:SpliceType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of splice (inline, end).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InsulationState" type="vec:InsulationState" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the insulation state of the splice, in other words is electrically insulated or not.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SpliceTerminalSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of splice terminals.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:TerminalSpecification"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="StripeSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies a stripe which has fixed length and width. Stripes can be used for example for sealing.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:WireProtectionSpecification">
				<xs:sequence>
					<xs:element name="Length" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the length of the stripe.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SegmentDiameter" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the valid segment diameter range for which the stripe can be used.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Width" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the width of the stripe.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SwitchingState">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>SwitchingState</i>defines a certain static state of an<i>EEComponent</i>. Under which conditions or when such a state applies, should be described in an external description model.</p>
				<p>A<i>SwitchingState</i>references a collection of<i>InternalComponentConnections</i>, with the semantic that these connections exist (and only these connections) when the switching state is active.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Identification of the SwitchingState, which must be distinct for all SwitchingStates of an EEComponent.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SwitchedConnections" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>InternalComponentConnections</i>that are switched by this<i>SwitchingState.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TapeSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of tapes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:WireProtectionSpecification">
				<xs:sequence>
					<xs:element name="Backing" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the material of carrier of the tape, on which the adhesive material is applied.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Adhesive" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the adhesive material of the tape.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Width" type="vec:NumericalValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the width of the tape.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Thickness" type="vec:NumericalValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the thickness of the tape (adhesive + backing).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CoilCoreDiameter" type="vec:NumericalValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the inner diameter of the coil on which the tape is delivered.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TemperatureInformation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the temperature information for a general technical part. It is necessary to define this in an external class and not as an attribute, since a part can have multiple different temperature information e.g. operating temperature, storage temperature, processing temperature, environment temperature. An additional constraint is that one GeneralTechnicalPartSpecification can own multiple TemperatureInformations, but must not have more than one TemperatureInformations of the same temperatureType.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="TemperatureRange" type="vec:ValueRange" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the allowed temperature range for this type of temperature.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TemperatureType" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The type of a TemperatureInformation. This should be an enumeration of values defined in a conformance class. Possible values are: EnvironmentTemperature, OperationTemperature, StorageTemperature, ProcessingTemperature. (see KBLFRM-311)</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="TerminalCurrentInformation">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Allows the definition of valid current ranges for a terminal. A current range is always defined for a coreCrossSectionArea and a nominal voltage. Attributes of the type CurrentRangeInformation normally have the multiplicity [0..*]. This means that such an attribute can have CurrentRangeInformation entries for different coreCrossSectionAreas and nominalVoltages. It must not have multiple entries for the same coreCrossSectionAreas and nominalVoltages.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="CurrentRange" type="vec:ValueRange">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the valid current range for the terminal. It is defined as a value range, because there are terminals where minimum current is needed to avoid corrosion.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="NominalVoltage" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the nominalVoltage for which the CurrentRangeInformation is valid.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CoreCrossSectionArea" type="vec:NumericalValue">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the coreCrossSectionArea for which the CurrentRangeInformation is valid. The coreCrossSectionArea is a relevant information, because the thermal absorption of the core depends on the cross section area and thus is a influence factor for the valid current range.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="TerminalReception">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A TerminalReception is the area of a terminal where the contacting with another terminal (e.g. between a connector housing and a control unit) takes place. Normally the terminal reception is placed in a cavity of a connector housing.</p>
				<p>This class represents such an area on the terminal.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the TerminalReception. The identification is guaranteed to be unique within the TerminalSpecification (this might be for example a reception number).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Gender" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the gender of the TerminalReception. This should be an enumeration of values defined in a conformance class (e.g. male, female). The gender is included in the TerminalReception class in order to be able to refer the same TerminalReceptionSpecification gender-independent. KBLFRM-360</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalReceptionSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TerminalReceptionSpecification that specifies the TerminalReception.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TerminalReceptionReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>TerminalReceptionReference</i>is an instance of a<i>TerminalReception</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Identification" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies a unique<i>identification</i>of the<i>TerminalReceptionReference</i>. The<i>identification</i>is guaranteed to be unique within the<i>TerminalRole</i>(this might be for example a reception number).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TerminalReception" type="xs:IDREF">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>References the<i>TerminalReception</i>that is instanced by this<i>TerminalReceptionReference.</i>
						</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="TerminalReceptionSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of terminal receptions. A TerminalReception is the area of a terminal where the contacting with another terminal (e.g. between a connector housing and a control unit) takes place. Normally the terminal reception is placed in a cavity of a connector housing.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="CavityDesign" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the structural shape of the cavity, e.g. round, flat, box that the terminal fits in.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlatingMaterial" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the plating material of the terminal reception.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PrimaryLockingType" type="vec:PrimaryLockingType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if the terminal reception has a primary locking and of what type it is.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PullOutForce" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The force until the terminal is pulled out of the housing (normally a not intended case). KBLFRM-366</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalType" type="vec:TerminalType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the terminal type that is associated with the terminal reception.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TerminalRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A TerminalRole defines the instance specific properties and relationships of a terminal.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="SealState" type="vec:SealState" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if this instance of a terminal should be sealed (waterproof). This applies for example to SpliceTerminals.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ComponentPort" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the ComponentPort that is realized by the referenced Terminal (OccurrenceOrUsage with TerminalRole). KBLFRM-341</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p> References the<i>TerminalSpecification</i>that is instanced by this<i>TerminalRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalReceptionReference" type="vec:TerminalReceptionReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>TerminalReceptionReferences</i>of this<i>TerminalRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireReceptionReference" type="vec:WireReceptionReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>WireReceptionReferences</i>of this<i>TerminalRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TerminalSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of terminals. A terminal can own multiple WireReceptions &amp; TerminalReceptions.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="SealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the sealing class of the terminal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="VoltageRange" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the allowed voltage range for the connector housing.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SealingType" type="vec:TerminalSealingType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the<i>SealingType</i>of the Terminal. This type always refers to the sealing of the terminal itself. However, even a terminal which is not sealable can be used in sealed locations with additional measures (e.g. on the slot).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CurrentInformation" type="vec:TerminalCurrentInformation" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>TerminalCurrentInformation</i>that is applicable for the terminal.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InternalTerminalConnection" type="vec:InternalTerminalConnection" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the InternalTerminalConnections of the terminal.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalReception" type="vec:TerminalReception" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the TerminalReceptions of the terminal described by the TerminalSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireReception" type="vec:WireReception" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the WireReceptions of the terminal described by the TerminalSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TerminalType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the type (system) of a terminal. The type is specified by a combination of a name for the system and an optional nominalSize.</p>
				<p>In some processes the terminal type is referred as cavity system, because the system of cavities, terminals, seals, plugs and other cavity accessories must match / be compatible.</p>
				<p>However, since a terminal has only one since type and a cavity can be compatible to more than one it is named<i>TerminalType</i>in the VEC.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Name" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the cavity (e.g. MQS, DFK, ...).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalSize" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the nominal size of terminals that fit into the cavity. (e.g. 2x4).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TextBasedInstruction">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A TextBasedInstruction is used to specify human readable instructions in text.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Instruction">
				<xs:sequence>
					<xs:element name="InstallationInstruction" type="vec:LocalizedString" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the instruction in a human readable form. Different languages are possible.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Tolerance">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enables the specification of value ranges which can be tolerated.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="LowerBoundary" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the lower boundary for the tolerance.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="UpperBoundary" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the upper boundary for the tolerance.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TopologyGroupSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A TopologyGroupSpecification defines a new Topology based on the grouped Topologies. (see KBLFRM-240)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:TopologySpecification">
				<xs:sequence>
					<xs:element name="TopologySpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TopologyNode">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A TopologyNode is a point in the Topology where TopologySegments are starting and ending.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the TopologyNode. The identification is guaranteed to be unique within the TopologySpecification. Over all VEC-documents a TopologyNode-instance can be trusted to be the same if the TopologySpecification-instance is the same (see TopologySpecification) and the identification of the TopologyNode is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional identifiers for the TopologyNode.</p>
								<p>Example: TopologyNode Ids may vary from one CAD system export to another. Therefore the CAD system Id is improper for identification attribute. The identification shall have a value which is unique within the Topology. AliasId may be used for the CAD system Id.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MatchingPointId" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies an identification of a TopologyNode which be used for matching nodes that belong to different TopologySpecifications and that are actually representing the same node. Example: There are two TopologySpecifications, each specifying the topology of a certain zone of the car. If the zones are adjacent, it is possible that there are TopologyNodes where the two topologies are connected. These "connection-nodes" would carry the same matchingPointId.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ProcessingInstruction" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies processing instructions for the TopologyNode.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NodeType" type="vec:NodeType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the TopologyNode. A Node can either be an EndNode, a Junction or an Inliner.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RealizedUsageNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>UsageNode</i>that is realized by this<i>TopologyNode</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TopologySegment">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A TopologySegment is a distance in the Topology where no intermediate electrical contacts appear. If a Topology contains routed wires, then the wire at the beginning of a TopologySegment have to be the same as in the ending.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the TopologySegment. The identification is guaranteed to be unique within the TopologySpecification. Over all VEC-documents a TopologySegment-instance can be trusted to be the same if the TopologySpecification-instance is the same (see TopologySpecification) and the identification of the TopologySegment is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Form" type="vec:SegmentForm">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the form of the TopologySegment. A TopologySegment can either be circular or noncircular.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional identifiers for the TopologySegment.</p>
								<p>Example: TopologySegment Ids may vary from one CAD system export to another. Therefore the CAD system Id is improper for identification attribute. The identification shall have a value which is unique within the Topology. AliasId may be used for the CAD system Id.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ProcessingInstruction" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies processing instructions for the TopologySegment.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="EndNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TopologyNode where the TopologySegment ends.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="StartNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the TopologyNode where the TopologySegment starts.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CrossSectionAreaInformation" type="vec:SegmentCrossSectionArea" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the different SegmentCrossSectionAreas of the TopologySegment.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LengthInformation" type="vec:SegmentLength" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the different SegmentLengths of the TopologySegment.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TopologySpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of a topology. A topology consists of TopologyNodes, TopologySegments and Zones.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="TopologyNode" type="vec:TopologyNode" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the TopologyNodes defined by the TopologySpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TopologySegment" type="vec:TopologySegment" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the TopologySegments defined by the TopologySpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Zone" type="vec:Zone" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the Zones that are part of the TopologySpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Transformation2D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Transformation is a geometric transformation and specifies a transformation matrix.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="A11" type="xs:double"/>
					<xs:element name="A12" type="xs:double"/>
					<xs:element name="A21" type="xs:double"/>
					<xs:element name="A22" type="xs:double"/>
					<xs:element name="Origin" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the CartesianPoint2D that is the origin of the Transformation2D.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Transformation3D">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Transformation is a geometric transformation and specifies a transformation matrix.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="A11" type="xs:double"/>
					<xs:element name="A12" type="xs:double"/>
					<xs:element name="A13" type="xs:double"/>
					<xs:element name="A21" type="xs:double"/>
					<xs:element name="A22" type="xs:double"/>
					<xs:element name="A23" type="xs:double"/>
					<xs:element name="A31" type="xs:double"/>
					<xs:element name="A32" type="xs:double"/>
					<xs:element name="A33" type="xs:double"/>
					<xs:element name="Origin" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the coordinates of the translation.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TubeSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies tubes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:WireProtectionSpecification">
				<xs:sequence>
					<xs:element name="BendRadius" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the bend radius of the tube.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InnerDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the inner diameter of a tube. In the case of a shrinkable tube, it is the diameter of the tube in the unshrinked state.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WallThickness" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the thickness of the wall of the tube.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="IsSlit" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies whether the tube is slit or not. The style of the slitting can be defined with the<i>slitStyle.</i>If a<i>slitStyle</i>is defined, it implies that<i>isSlit=true</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SlitStyle" type="vec:TubeSlitStyle" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the style of the slitting of the tube. If a<i>slitStyle</i>is defined, it implies that<i>isSlit=true</i>.</p>
								<p>This attribute is defined as an<i>OpenEnumeration.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalSize" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the nominal size of a tube. The nominal size is a name for the size of the tube that is somehow related to the inner diameter of the tube. However it is not the inner diameter (e.g. "10.5").</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SecondaryNominalSize" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the secondary nominal size of a tube. The nominal size is a name for the size of the tube that is somehow related to the inner diameter of the tube. However it is not the inner diameter (e.g. "10.5").</p>
								<p>The secondary nominal size shall only be used for two-parted tubes (see TubSlitStyle = TwoParts). The secondary nominal size defines the size of the outer (larger) tube of a two-parted tube.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Shape" type="vec:TubeShape" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the shape of the cross section of the tube.</p>
								<p>This attribute is defined as an<i>OpenEnumeration</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="OuterDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the outer diameter of the tube. The outer diameter of a tube shall only be used for circular tubes (shape = Circular). For other shapes, height and width shall be used.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Height" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the height of the tube. If the height is defined, a width shall be defined, too. The height and width of a tube shall only be used for tubes that are not circular (shape != Circular). For circular shapes, the outside diameter shall be used.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Width" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the width of the tube. If the width is defined, a height shall be defined, too. The height and width of a tube shall only be used for tubes that are not circular (shape != Circular). For circular shapes, the outside diameter shall be used.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Length" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the length of the tube if it is a predefined value.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="USUnit">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The USUnit class can define quantities in the terms of the US-Unit-System by specifying the corresponding US unit name. The US Unit System is quite similar to the imperial unit system, however some units are defined slightly different.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="UsUnitName" type="vec:USUnitName">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the name of the<i>USUnit</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Unit" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A precisely specified quantity in terms of which the magnitudes of other quantities of the same kind can be stated. The different systems to define units are represented by the subclasses of this class (e.g. SIUnit, ImperialUnit).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Exponent" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Defines the exponent with which this unit instance should be used. In order to define square meters for example, the SIUnit "metre" with an exponent of 2 will be used. If no exponent is defined it is equivalent to the value 1.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="UsageConstraint">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies a constraint of the possible usages for PartVersion or PartUsages. UsageContraints are of part master data information. UsageConstraints specify general restrictions for the application of a PartVersion or PartUsage (e.g. a certain period of time in which the part is allowed to be used). (see KBLFRM-229)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Type" type="vec:UsageConstraintType">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines if the usage constraint is positive (allowance) or negative (denial).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FromDate" type="xs:dateTime" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the lower bound of the time period to which the usage constraint applies.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ToDate" type="xs:dateTime" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the upper bound of the time period to which the usage constraint applies.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FromSerialNumber" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the lower bound of a serial number range to which the usage constraint applies.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ToSerialNumber" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the upper bound of a serial number range to which the usage constraint applies.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ProjectPhase" type="xs:string" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the project phases to which the usage constraint applies.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Project" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>Projects</i>to which the<i>UsageConstraint</i>applies. This means the described PartVersion is allowed / denied in the referenced UsageConstraint.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="UsageNode" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<i>UsageNode</i>
								<i>UsageConstraint</i>
								<i>PartVersion</i>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="UsageConstraintSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of usage constraints. The associated UsageContraints are restricting the possible usages of the associated PartVersions and PartUsages.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ConstrainedParts" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>PartVersions</i>to which this<i>UsageConstraintSpecification</i>applies.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PartUsageConstraint" type="vec:UsageConstraint" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the UsageConstraints that apply to the PartVersion or PartUsages described by the UsageConstraintSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="UsageNode">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>UsageNode</i>represents a position in an abstract vehicle. For example the "Head Light Left".<i>UsageNodes</i>belong to the master data and they are defined on some companywide level. They can be used to enforce consistent naming over different projects and different development streams (e.g. between Geometry and Electrologic).</p>
				<p>A<i>UsageNode</i>can be realized by different elements in the VEC (e.g.<i>NetworkNode, OccurrenceOrUsage, TopologyNode, ComponentNode</i>).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies an abbreviation of the<i>UsageNode</i>. Normally this a human readable short name.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique<i>identification</i>of the<i>UsageNode</i>. The<i>identification</i>is guaranteed to be unique within the context. Over all VEC-documents a<i>UsageNode-instance</i>can be trusted to be the same if the context-instance is the same and the<i>identification</i>of the<i>UsageNode</i>is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional, human readable information about the<i>UsageNode</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="UsageNodeType" type="vec:UsageNodeType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the type of the UsageNode. The type determines how the UsageNode is handled in the latter processes.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="UsedInProject" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>Projects</i>in which the<i>UsageNode</i>can be used.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SubUsageNodes" type="vec:UsageNode" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en"/>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="UsageNodeSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>UsageNodeSpecification</i>is a container for the specification of<i>UsageNodes.</i>
				</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="UsageNodes" type="vec:UsageNode" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>UsageNodes</i>defined by this<i>UsageNodeSpecification.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueRange">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A pair of numerical values representing a value range.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ValueWithUnit">
				<xs:sequence>
					<xs:element name="Minimum" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Lower bound of the value range.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Maximum" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Upper bound of the value range.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueRangeProperty">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A custom property with a value range. (see KBLFRM-319)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="vec:ValueRange">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the value of the CustomProperty.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueWithUnit" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Abstract class either for a single numerical measure or a range of numerical measures with upper, lower, or upper and lower bounds.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="UnitComponent" type="xs:IDREF">
				<xs:annotation>
					<xs:documentation xml:lang="en">References the unit of the value.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="VariantCode">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>VariantCodes are defining the literals on which VariantConfiguration are stated. Possible VariantCodes might be different for steering types, optional equipment, engine-power class.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the variant code. This is also the literal value for the VariantCode, which shall be used in the logisticControlExrpessions of VariantConfigurations.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CodeType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Allows the classification of a VariantCodes (e.g. Base-Option, Extra-Option, ...).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>On optional human readable description of the variant code.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantCodeSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of variant codes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="VariantCode" type="vec:VariantCode" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the individual VariantCodes defined in the VariantCodeSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantConfiguration">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A variant configuration defines a condition with which it is possible to express the inclusion or exclusion of ConfigurableElements in different variants of a product.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the variant configuration. The identification is guaranteed to be unique within the specification and does not change over the time.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>On optional human readable description of the variant configuration.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LogisticControlString" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a logisticControlString which can be used if the variant management is not done by boolean logic.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LogisticControlExpression" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a logisticControlExpression expressed as boolean term.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConfigurationType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Allows the classification of a VariantConfiguration.</p>
								<p>(see KBLFRM-250, KBLFRM-314, KBLFRM-290)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantConfigurationSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of variant configurations.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="VariantConfiguration" type="vec:VariantConfiguration" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the individual VariantConfigurations defined in the VariantConfigurationSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantGroup">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>With a VariantGroup it is possible to group VariantCodes. The semantic of this grouping should be defined with the groupType (e.g. composition, choice, etc.).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the variant code.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>On optional human readable description of the variant group.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GroupType" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Allows the classification of a VariantGroups into different types. For example: - composition (e.g. winter package) - choice (e.g. right hand / left hand driving)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="VariantCode" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the VariantCodes that are member of the VariantGroup.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantGroupSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of variant groups.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="VariantGroup" type="vec:VariantGroup" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the individual VariantGroups defined in the VariantGroupSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VecContent">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The VecContent is the XML-Root node for any VEC-Document.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="VecVersion" type="vec:VecVersion">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the version of the VEC used for the file.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GeneratingSystemName" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the name of the system that has generated the VEC-file.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DateOfCreation" type="xs:dateTime" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the date of creation of the VEC-file.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GeneratingSystemVersion" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the version of the system that has generated the VEC-file.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="StandardCopyrightInformation" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>CopyrightInformation</i>that is in effect for the complete content of this<i>VecContent</i>. It is applied to all<i>ItemVersions</i>that do not references their own individual<i>CopyrightInformation.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CompliantConformanceClass" type="vec:ConformanceClass" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies references to the conformance classes that apply to the VEC-file.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Contract" type="vec:Contract" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the contracts used in the VEC-file.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CopyrightInformation" type="vec:CopyrightInformation" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the CopyrightInformation used in the VEC-file.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DocumentVersion" type="vec:DocumentVersion" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the DocumentVersions contained in the VEC-file.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ItemHistoryEntry" type="vec:ItemHistoryEntry" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ItemVersionHistoryEntries for ItemVersions contained in the VEC-file.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PartVersion" type="vec:PartVersion" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the PartVersions contained in the VEC-file.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Project" type="vec:Project" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Projects used in the VEC-file.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Unit" type="vec:Unit" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the Units used in the VEC-file.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireElement">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>WireElement</i>specifies a<i>WireElementSpecification</i>in the context of a<i>WireSpecification</i>. This is necessary to define a unique<i>identification</i>of a<i>WireElementSpecification</i>in the context of a<i>WireSpecification.</i>Additionally the<i>WireElement</i>serves as anchor for the instancing of a wire (<i>WireElementReference</i>).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The identification of the WireElement. The identification is guaranteed to be unique within a wire and immutable. The identification is guaranteed to be the same for the same WireElement over different VEC documents.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireElementSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Reference the<i>WireElementSpecification</i>that is represented by the<i>WireElement.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireElementReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A WireElementReference represents the usage of a WireElement in the context of a PartUsage or PartOccurrence. For contacting purposes a WireElementReference has WireEnds. KBLFRM-384</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:RoutableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the WireElementReference. The identification is guaranteed to be unique within the WireRole.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Connection" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the Connection that is realized by the referenced WireElement (WireElementReference). KBLFRM-341</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedWireElement" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the WireElement that is represented by the WireElementReference.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the signal that is transmitted by the WireElementReference.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireEnd" type="vec:WireEnd" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the ends of the WireElementReference for contacting purposes.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireLength" type="vec:WireLength" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the different length of a wire.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireElementSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A WireElementSpecification is the basic element to describe a wire in the VEC. A WireElementSpecification can be atomic or composed recursively out of other WireElementSpecifications. A WireElementSpecification can reference an InsulationSpecification, if it has an insulation, a CoreSpecification, if it has a core or a WireGroupSpecification if it is a grouping of other WireElementSpecifications in the Wire (e.g. a multi-core wire with twisted pairs).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Type" type="vec:WireType" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the type of the wire. A wire must not have more than one type. This attribute allows more than one value for the reason, that the same type can be expressed in multiple reference systems.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MinBendRadiusDynamic" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the minimum bend radius for wire element, if it is used in a dynamic environment, where it is bended repeatedly (e.g in grommet of the back door). (see KLBFRM-311)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MinBendRadiusStatic" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the minimum bend radius for wire element, if it is used in a static environment, where it is bended once during installation. After that it remains unchanged in its bended position during usage. (see KLBFRM-311)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="OutsideDiameter" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the outside diameter of the WireElement.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SuitedForDynamicUse" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if it is allowed to use the WireElement in a dynamic environment. (see KBLFRM-311)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Impedance" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the impedance of this wireElement. Typically used for WireElements that have subWireElements e.g. twisted pair or coax wires.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Size" type="vec:Size" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the size of a WireElement if it has not the shape of circle. If it has the shape of a circle the size is normally defined by its outside diameter.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ValidWireReceptionTypes" type="vec:WireReceptionType" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the<i>WireReceptionTypes</i>that are allowed for joining with the specified<i>WireElement.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="GridSpacing" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the grid spacing. The grid spacing is the distance between the centers of two adjacent sub wire elements.</p>
								<p>This attribute is only valid for<i>WireElementSpecifications</i>that have<i>SubWireElementSpecifications.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Shape" type="vec:WireElementShape" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the shape of an<i>WireElement.</i>Circular wire elements are defined by their outsideDiameter, all others are defined by their size.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConductorSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>If the<i>WireElement</i>has a core then the specification of the core is referenced here.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FillerSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>If the<i>WireElement</i>is a filler then the specification of the filler is referenced here.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InsulationSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>If the<i>WireElement</i>has an insulation then the specification of the insulation is referenced here.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SubWireElementSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the contained subWireElements if the WireElement has sub elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireGroupSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>If the<i>WireElement</i>is a member of a wire group then the specification of the wire group is referenced here.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireEnd">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A WireEnd is the end of a wire. This class mainly needed for the definition of a contacting. As a wire can be contacted on more than two ends (e.g. IDC) the WireEnd has a position on the wire.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the WireEnd. The identification is guaranteed to be unique within the WireElementReference.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PositionOnWire" type="xs:double">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the position of the WireEnd on the wire. This must be a value between 0 and 1.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectionEnd" type="xs:IDREF" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireEndAccessoryRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>WireEndAccessoryRole</i>defines the instance specific properties and relationships of a<i>WireEndAccessory</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="WireEndAccessorySpecification" type="vec:WireEndAccessorySpecification"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireEndAccessorySpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>
					<i>WireEndAccessorySpecifications</i>are describing parts that are used for a treatment of a wire end before the actual terminal is attached to the<i>WireEnd</i>(e.g. a ferrule).</p>
				<p>The actual specification is done by the referenced<i>WireReceptionSpecification</i>since a<i>WireEndAccessory</i>is basically just a single<i>WireReception</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="WireReceptionSpecification" type="vec:WireReceptionSpecification" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireGroupSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of WireGroups. Wire groups are for example used for the representation of twisted pairs.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="GroupType" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the group. This should be an enumeration of values defined in a conformance class (e.g. twisted pair, ...).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LengthOfTwist" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the length of twist if the wire group is representing a twisted pair.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireGrouping">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A WireGrouping is the assignment of WireElementReferences to a WireGroupSpecification. A WireGrouping is needed if individual wire (e.g. with own part numbers) should be grouped (e.g. combined to a twisted pair) and the grouping is not have an individual part.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the WireGrouping. The identification is guaranteed to be unique within the WireGroupingSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RelatedWireRole" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the concrete wire elements (WireElementReference) that are grouped by the WireGrouping.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireGroupSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the WireGroupSpecification that applies to the WireGrouping.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireGroupingSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of WireGroupings.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="WireGrouping" type="vec:WireGrouping" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the WireGroupings described by the WireGroupingSpecification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireLength">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the length of a WireElementReference. A WireElementReference can have multiple lengths of different types, but must not have more than one length of the same type.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="LengthType" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The type of the length (e.g. DMU, CUT). This should be an enumeration of values defined in a conformance class.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="LengthValue" type="vec:NumericalValue">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>The length value for the type.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireMounting">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A wire mouting defines the mouting of a wire end to terminal. If the contacting is required to be water proof a cavity seal can be mounted additionally.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="MountedCavitySeal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the cavity seal that is used for the wire mounting.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedWireEnd" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the wire ends that are used for the wire mounting. The minimum cardinality is one, because a wire mounting without wire end makes no sense.</p>
								<p>The maximum cardinality is * in order to support multi crimps.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireEndAccessory" type="xs:IDREFS" minOccurs="0"/>
					<xs:element name="WireMountingDetail" type="vec:WireMountingDetail" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the WireMoutingDetails, if a detailed description of the relationships between WireEnds and WireReceptions is needed.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireMountingDetail">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>With a WireMountingDetail it is possible to describe a detailed wire mounting.</p>
				<p>This is needed if the information which wire end is mounted onto which wire reception is important (e.g. coax contacts).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="ContactedWireReception" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the WireReception that is used for the WireMounting.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedWireEnd" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the WireEnds that are mounted to referenced WireReception. A cardinality of more than one is allowed in order support parallel connectors, where multiple wire ends are placed on one side of the connector (one wire reception) and the other wire ends are placed on the other side of the connector (the other wire reception).</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireProtectionRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A WireProtectionRole defines the instance specific properties and relationships of a wire protection.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="ProtectionLength" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the length of the protection.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TapeOverlap" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the amount of overlap two rounds of taping around a segment have.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TapingDirection" type="vec:TapingDirection" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the direction of the taping.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Gradient" type="vec:ValueWithUnit" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the gradient of the taping.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireProtectionSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>WireProtectionSpecification</i>that is instanced by this<i>WireProtectionRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireProtectionSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the description of wire protections.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="AbrasionResistanceClass" type="vec:AbrasionResistanceClass" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the abrasion resistance class of the wire protection. According to the VDA this is a value between A &amp; G.</p>
								<p>KBLFRM-311</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SoundDampingClass" type="vec:SoundDampingClass" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the class of sound damping. According to the VDA this is a value between A &amp; E. KBLFRM-311</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireReception">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A WireReception is the area of a terminal where the contacting with a wire element (e.g. by crimping) takes place. This class represents such an area on the terminal. Its description is done with a WireReceptionSpecification, which is independent from the TerminalSpecification. This allows the reuse of the specification of similar WireReception on different terminals.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the WireReception. The identification is guaranteed to be unique within the TerminalSpecification (this might be for example a reception number).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Angle" type="vec:NumericalValue" minOccurs="0" maxOccurs="2">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the angle against two planes of the connector housing a wire reception can be buckled.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the<i>PlacementPoint</i>that represents this<i>WireReception</i>in a PlaceableElementSpecification.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireReceptionSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">References the WireReceptionSpecification that specifies the WireReception.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireReceptionReference">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A<i>WireReceptionReference</i>is an instance of a<i>WireReception</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Identification" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies a unique<i>identification</i>of the<i>WireReceptionReference</i>. The<i>identification</i>is guaranteed to be unique within the<i>TerminalRole</i>(this might be for example a reception number).</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="WireReception" type="xs:IDREF">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>References the<i>WireReception</i>that is instanced by this<i>WireReceptionReference.</i>
						</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="WireReceptionSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of wire receptions. A WireReception is the area of a terminal where the contacting with a wire element (e.g. by crimping) takes place.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="CoreCrossSectionArea" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a value range for cross section areas of cores that are compatible with the wire reception.</p>
								<p>For wire receptions where a single core is attached to, this value defines the<i>ValueRange</i>of the<i>crossSectionArea</i>of the core. For wire receptions where more than one core is attached to (e.g. ring terminals, splices), this attributes defines the valid value range for the sum of the cross section areas of all attached cores.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InsulationDisplacementLength" type="vec:NumericalValue" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the length of the insulation which must be stripped off to fit to this wire reception.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MultiContact" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if it is possible to contact more than core at the wire reception.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireReceptionType" type="vec:WireReceptionType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the type of the wire reception. The wireReceptionType defines how the wire is joined with the wire reception.</p>
								<p>This attribute is defined in an OpenEnumeration.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireElementOutsideDiameter" type="vec:ValueRange" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a value range for valid diameters a WireElement must have to fit to the wire reception.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlatingMaterial" type="vec:Material" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the plating material of the wire reception.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Sealable" type="xs:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies if the wire reception can be sealed. (see KBLFRM-311)</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ValidConductorMaterials" type="vec:ConductorMaterial" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the materials of a conductor, that are valid to use with this<i>WireReceptionSpecification</i>. This material shall be matched against the<i>ConductorSpecification.material.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A WireRole defines the instance specific properties and relationships of a wire.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="WireSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>WireSpecification</i>that is instanced by this<i>WireRole.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireElementReference" type="vec:WireElementReference" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the WireElementReferences used in the WireRole. For multi core wires more than one WireElementReference is needed.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireSpecification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specification for the definition of a wire. This can either be a complex multicore wire or a normal single core. In the VEC a wire is defined by one WireElement, which may be composed from other WireElements.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="WireElementSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>References the<i>WireElementSpecification</i>that defines the properties of the top-most<i>WireElement.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireElement" type="vec:WireElement" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies the WireElements that are available in the<i>WireSpecification</i>.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies a wire type. A wire type is always defined by a key value. What wire type is meant by this key value is defined by a standard reference system.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Type" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the type of the wire (e.g. FLRY, NYFAZw). Valid values are defined by the wireTypeReferenceSystem.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ReferenceSystem" type="xs:string">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Specifies the reference system for the wire type.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Zone">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>A Zone divides a topology in different sections / design spaces. A Zone may be subdivided in further zones.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies a unique identification of the Zone (normally the name). The identification is guaranteed to be unique within the TopologySpecification. Over all VEC-documents a Zone-instance can be trusted to be the same if the TopologySpecification-instance is the same (see TopologySpecification) and the identification of the Zone is the same.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Specifies additional, human readable information about the zone.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="AmbientTemperature" type="vec:TemperatureInformation" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the ambient temperature that can occur in this zone. This can result in specific requirements for the used components.</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RequiredRobustnessProperties" type="vec:RobustnessProperties" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the robustness properties that are required in this zone. This can result in specific requirements for the used components (e.g. the ability for sealing).</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RequiredSealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">
								<p>Defines the<i>SealingClass</i>that is required in this<i>Zone.</i>
								</p>
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SubZone" type="vec:Zone" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation xml:lang="en">Specifies the sub Zones that are part the Zone.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="AnchorType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of AnchorType of the SegmentLocation.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="FromStartNode">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The offset of the location is measured from the startNode of the TopologySegment.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FromEndNode">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The offset of the location is measured from the endNode of the TopologySegment.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ComponentNodeType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the common agreed values for the types of a ComponentNode.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ConnectorOutletDirection">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the<i>OutletDirection</i>of a connector for wires.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ContractRole">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of roles a contractor has in a contract.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="DocumentType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the predefined<i>DocumentTypes</i>of a<i>PartVersion.</i>A certain<i>DocumentType</i>has normally a typical set of information that is defined within its scope. E.g. a part master document contains<i>Specifications</i>that are used for the description of a defined<i>PartVersion.</i>
				</p>
				<p>
					<i>The content and the degree of information a DocumentType</i>may vary in the different processes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="GeometryType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of the GeometryType.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="HistoryEntryType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of the type of relationship represented by an ItemHistoryEntry. (see KBLFRM-271)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Derivation"/>
			<xs:enumeration value="Sequence"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="IECPrefix">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of IEC unit prefixes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Yobi"/>
			<xs:enumeration value="Zebi"/>
			<xs:enumeration value="Exbi"/>
			<xs:enumeration value="Pebi"/>
			<xs:enumeration value="Tebi"/>
			<xs:enumeration value="Gibi"/>
			<xs:enumeration value="Mebi"/>
			<xs:enumeration value="Kibi"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="IECUnitName">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of IEC unit names.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Bit"/>
			<xs:enumeration value="Byte"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ImperialUnitName">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of imperial unit names.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Thou"/>
			<xs:enumeration value="Inch"/>
			<xs:enumeration value="Foot"/>
			<xs:enumeration value="Yard"/>
			<xs:enumeration value="Chain"/>
			<xs:enumeration value="Furlong"/>
			<xs:enumeration value="Mile"/>
			<xs:enumeration value="League"/>
			<xs:enumeration value="FluidOunce"/>
			<xs:enumeration value="Gill"/>
			<xs:enumeration value="Pint"/>
			<xs:enumeration value="Quart"/>
			<xs:enumeration value="Gallon"/>
			<xs:enumeration value="Grain"/>
			<xs:enumeration value="Drachm"/>
			<xs:enumeration value="Ounce"/>
			<xs:enumeration value="Pound"/>
			<xs:enumeration value="Stone"/>
			<xs:enumeration value="Quarter"/>
			<xs:enumeration value="HundredWeight"/>
			<xs:enumeration value="Ton"/>
			<xs:enumeration value="Perch"/>
			<xs:enumeration value="Rood"/>
			<xs:enumeration value="Acre"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="InsulationState">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of the insulation state of the splice.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="LanguageCode">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of ISO language codes. (see KBLFRM-317)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Aa">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Afar</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Ab">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Abkhazian</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Af"/>
			<xs:enumeration value="Am"/>
			<xs:enumeration value="Ar"/>
			<xs:enumeration value="As"/>
			<xs:enumeration value="Ay"/>
			<xs:enumeration value="Az"/>
			<xs:enumeration value="Ba"/>
			<xs:enumeration value="Be"/>
			<xs:enumeration value="Bg"/>
			<xs:enumeration value="Bh"/>
			<xs:enumeration value="Bi"/>
			<xs:enumeration value="Bn"/>
			<xs:enumeration value="Bo"/>
			<xs:enumeration value="Br"/>
			<xs:enumeration value="Ca"/>
			<xs:enumeration value="Co"/>
			<xs:enumeration value="Cs"/>
			<xs:enumeration value="Cy"/>
			<xs:enumeration value="Da"/>
			<xs:enumeration value="De"/>
			<xs:enumeration value="Dz"/>
			<xs:enumeration value="El"/>
			<xs:enumeration value="En"/>
			<xs:enumeration value="Eo"/>
			<xs:enumeration value="Es"/>
			<xs:enumeration value="Et"/>
			<xs:enumeration value="Eu"/>
			<xs:enumeration value="Fa"/>
			<xs:enumeration value="Fi"/>
			<xs:enumeration value="Fj"/>
			<xs:enumeration value="Fo"/>
			<xs:enumeration value="Fr"/>
			<xs:enumeration value="Fy"/>
			<xs:enumeration value="Ga"/>
			<xs:enumeration value="Gd"/>
			<xs:enumeration value="Gl"/>
			<xs:enumeration value="Gn"/>
			<xs:enumeration value="Gu"/>
			<xs:enumeration value="Ha"/>
			<xs:enumeration value="Hi"/>
			<xs:enumeration value="He"/>
			<xs:enumeration value="Hr"/>
			<xs:enumeration value="Hu"/>
			<xs:enumeration value="Hy"/>
			<xs:enumeration value="Ia"/>
			<xs:enumeration value="Id"/>
			<xs:enumeration value="Ie"/>
			<xs:enumeration value="Ik"/>
			<xs:enumeration value="In"/>
			<xs:enumeration value="Is"/>
			<xs:enumeration value="It"/>
			<xs:enumeration value="Iu"/>
			<xs:enumeration value="Iw"/>
			<xs:enumeration value="Ja"/>
			<xs:enumeration value="Ji"/>
			<xs:enumeration value="Jw"/>
			<xs:enumeration value="Ka"/>
			<xs:enumeration value="Kk"/>
			<xs:enumeration value="Kl"/>
			<xs:enumeration value="Km"/>
			<xs:enumeration value="Kn"/>
			<xs:enumeration value="Ko"/>
			<xs:enumeration value="Ks"/>
			<xs:enumeration value="Ku"/>
			<xs:enumeration value="Ky"/>
			<xs:enumeration value="La"/>
			<xs:enumeration value="Ln"/>
			<xs:enumeration value="Lo"/>
			<xs:enumeration value="Lt"/>
			<xs:enumeration value="Lv"/>
			<xs:enumeration value="Mg"/>
			<xs:enumeration value="Mi"/>
			<xs:enumeration value="Mk"/>
			<xs:enumeration value="Ml"/>
			<xs:enumeration value="Mn"/>
			<xs:enumeration value="Mo"/>
			<xs:enumeration value="Mr"/>
			<xs:enumeration value="Ms"/>
			<xs:enumeration value="Mt"/>
			<xs:enumeration value="My"/>
			<xs:enumeration value="Na"/>
			<xs:enumeration value="Ne"/>
			<xs:enumeration value="Nl"/>
			<xs:enumeration value="No"/>
			<xs:enumeration value="Oc"/>
			<xs:enumeration value="Om"/>
			<xs:enumeration value="Or"/>
			<xs:enumeration value="Pa"/>
			<xs:enumeration value="Pl"/>
			<xs:enumeration value="Ps"/>
			<xs:enumeration value="Pt"/>
			<xs:enumeration value="Qu"/>
			<xs:enumeration value="Rm"/>
			<xs:enumeration value="Rn"/>
			<xs:enumeration value="Ro"/>
			<xs:enumeration value="Ru"/>
			<xs:enumeration value="Rw"/>
			<xs:enumeration value="Sa"/>
			<xs:enumeration value="Sd"/>
			<xs:enumeration value="Sg"/>
			<xs:enumeration value="Sh"/>
			<xs:enumeration value="Si"/>
			<xs:enumeration value="Sk"/>
			<xs:enumeration value="Sl"/>
			<xs:enumeration value="Sm"/>
			<xs:enumeration value="Sn"/>
			<xs:enumeration value="So"/>
			<xs:enumeration value="Sq"/>
			<xs:enumeration value="Sr"/>
			<xs:enumeration value="Ss"/>
			<xs:enumeration value="St"/>
			<xs:enumeration value="Su"/>
			<xs:enumeration value="Sv"/>
			<xs:enumeration value="Sw"/>
			<xs:enumeration value="Ta"/>
			<xs:enumeration value="Te"/>
			<xs:enumeration value="Tg"/>
			<xs:enumeration value="Th"/>
			<xs:enumeration value="Zi"/>
			<xs:enumeration value="Tk"/>
			<xs:enumeration value="Tl"/>
			<xs:enumeration value="Tn"/>
			<xs:enumeration value="To"/>
			<xs:enumeration value="Tr"/>
			<xs:enumeration value="Ts"/>
			<xs:enumeration value="Tt"/>
			<xs:enumeration value="Tw"/>
			<xs:enumeration value="Ug"/>
			<xs:enumeration value="Uk"/>
			<xs:enumeration value="Ur"/>
			<xs:enumeration value="Uz"/>
			<xs:enumeration value="Vi"/>
			<xs:enumeration value="Vo"/>
			<xs:enumeration value="Wo"/>
			<xs:enumeration value="Xh"/>
			<xs:enumeration value="Yi"/>
			<xs:enumeration value="Yo"/>
			<xs:enumeration value="Za"/>
			<xs:enumeration value="Zh">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Chinese</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Zu">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>Zulu</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="LengthClassification">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of a LengthClassification.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="MassInformationSource">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines possible sources for<i>MassInformations</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="NetworkNodeType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the common agreed values for the Types of a NetworkNode.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="NodeType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of the type of a TopologyNode.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="NominalVoltage">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="OtherUnitName">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of other unit names.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Pi"/>
			<xs:enumeration value="Piece"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PartNature">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>
					<i>OpenEnumeration</i>that defines the nature of a<i>PartVersion</i>. The nature specifies how the<i>PartVersion</i>can be used in the different processes or the significance of the<i>PartVersion</i>in the process.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PartRelationType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines how the set of<i>acessoryParts</i>referenced by a<i>PartRelation</i>should be interpreted.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Mandatory">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>
							<i>Mandatory</i>means that in a usage of a component<u>all</u>referenced<i>acessoryParts</i>must be used.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Optional">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>
							<i>Optional</i>means that in a usage of a component<u>some</u>referenced<i>acessoryParts</i>can be used by choice.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OneOfAll">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>
							<i>OneOfAll</i>means that in a usage of a component exactly<u>one</u>of the referenced<i>acessoryParts</i>must be selected.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PinApplianceType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Classifies the appliance of a Pin in terms of the duration of the appliance.</p>
				<p>E.g. the power supply pin of a power window has "shortTerm" PinApplianceType, in contrast to the head light which is a "long term".</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PinComponentType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies the type of a<i>PinComponent</i>.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PinCurrentType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the different available current types of a pin.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PinTimingType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the different available timing types of a pin.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PinType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the type of a pin.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PinVoltageType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the different available voltage types of a pin.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PlacementType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the type for which a<i>PlaceableElement</i>can be used.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="OnWay">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>
							<i>OnWay</i>refers to an<i>OnWayPlacement</i>.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OnPoint">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>
							<i>OnPoint</i>refers to an<i>OnPointPlacement</i>.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PluggableTerminalType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines valid values for the type of PluggableTerminals. The type defines constraints about the numbers of wire and terminal receptions and their relations.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PrimaryLockingType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the valid primary locking types for terminals.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PrimaryPartType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The primary type of the part defines the type of the part (e.g. ConnectorHousing, Fixing, etc.) Since the VEC supports dual use parts (e.g. Fixing &amp; WireProtection) the primary part type is necessary to define which specification associated to part is the primary character of the part. Therefore all primary part types correspond to a PartOrUsageRelatedSpecification (e.g. ConnectorHousing --&gt; ConnectorHousingSpecification).</p>
				<p>The primary part type 'Other' is used if the PartVersion is not further specified by the VEC, which means it has no PartOrUsageRelatedSpecification, only a GeneralTechnicalPartSpecification or a direct instance of PartOrUsageRelatedSpecification.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Antenna"/>
			<xs:enumeration value="Battery"/>
			<xs:enumeration value="BoltMountedFixing"/>
			<xs:enumeration value="CableDuct"/>
			<xs:enumeration value="CableTie"/>
			<xs:enumeration value="CavityAccessory"/>
			<xs:enumeration value="CavityPlug"/>
			<xs:enumeration value="CavitySeal"/>
			<xs:enumeration value="ConnectorHousing"/>
			<xs:enumeration value="ConnectorHousingCap"/>
			<xs:enumeration value="CorrugatedPipe"/>
			<xs:enumeration value="EdgeMountedFixing"/>
			<xs:enumeration value="EEComponent"/>
			<xs:enumeration value="Fitting"/>
			<xs:enumeration value="Fixing"/>
			<xs:enumeration value="Fuse"/>
			<xs:enumeration value="Grommet"/>
			<xs:enumeration value="HoleMountedFixing"/>
			<xs:enumeration value="MultiCavityPlug"/>
			<xs:enumeration value="MultiCavitySeal"/>
			<xs:enumeration value="MultiFuse"/>
			<xs:enumeration value="Other"/>
			<xs:enumeration value="PartStructure"/>
			<xs:enumeration value="PluggableTerminal"/>
			<xs:enumeration value="PotentialDistributor"/>
			<xs:enumeration value="Relay"/>
			<xs:enumeration value="RingTerminal"/>
			<xs:enumeration value="ShrinkableTube"/>
			<xs:enumeration value="SpliceTerminal"/>
			<xs:enumeration value="Stripe"/>
			<xs:enumeration value="Tape"/>
			<xs:enumeration value="Terminal"/>
			<xs:enumeration value="Tube"/>
			<xs:enumeration value="Wire"/>
			<xs:enumeration value="WireEndAccessory"/>
			<xs:enumeration value="WireProtection"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="RelaisApplianceType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Specifies the appliance type of a relais.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="RelaisType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the type of a relais (switching behaviour).</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SealState">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of the sealing state of the splice.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SealingGeometry">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines valid values of the geometry of a cavity sealing. It defines the cross section geometry.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SegmentCrossSectionAreaType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<i>TopologySegment</i>
				<i>TopologySegment</i>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SegmentForm">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of the SegmentForm.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SiPrefix">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of SI unit prefixes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Yotta"/>
			<xs:enumeration value="Zetta"/>
			<xs:enumeration value="Exa"/>
			<xs:enumeration value="Peta"/>
			<xs:enumeration value="Tera"/>
			<xs:enumeration value="Giga"/>
			<xs:enumeration value="Mega"/>
			<xs:enumeration value="Kilo"/>
			<xs:enumeration value="Hecto"/>
			<xs:enumeration value="Deca"/>
			<xs:enumeration value="Deci"/>
			<xs:enumeration value="Centi"/>
			<xs:enumeration value="Milli"/>
			<xs:enumeration value="Micro"/>
			<xs:enumeration value="Nano"/>
			<xs:enumeration value="Pico"/>
			<xs:enumeration value="Femto"/>
			<xs:enumeration value="Atto"/>
			<xs:enumeration value="Zepto"/>
			<xs:enumeration value="Yocto"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SiUnitName">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of SI unit names. In difference to the SI-System gram is used as literal for the measurement of mass, instead of kilogram. Since a unit is formed with prefix and unit name gram would have to be defined as milli kilogram otherwise.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Metre"/>
			<xs:enumeration value="Gram"/>
			<xs:enumeration value="Second"/>
			<xs:enumeration value="Ampere"/>
			<xs:enumeration value="Kelvin"/>
			<xs:enumeration value="Mole"/>
			<xs:enumeration value="Candela"/>
			<xs:enumeration value="Radian"/>
			<xs:enumeration value="Steradian"/>
			<xs:enumeration value="Hertz"/>
			<xs:enumeration value="Newton"/>
			<xs:enumeration value="Pascal"/>
			<xs:enumeration value="Joule"/>
			<xs:enumeration value="Watt"/>
			<xs:enumeration value="Coulomb"/>
			<xs:enumeration value="Volt"/>
			<xs:enumeration value="Farad"/>
			<xs:enumeration value="Ohm"/>
			<xs:enumeration value="Siemens"/>
			<xs:enumeration value="Weber"/>
			<xs:enumeration value="Tesla"/>
			<xs:enumeration value="Henry"/>
			<xs:enumeration value="DegreeCelsius"/>
			<xs:enumeration value="Lumen"/>
			<xs:enumeration value="Lux"/>
			<xs:enumeration value="Becquerel"/>
			<xs:enumeration value="Gray"/>
			<xs:enumeration value="Sievert"/>
			<xs:enumeration value="Katal"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SignalCurve">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SignalDirection">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of SignalDirections.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="In"/>
			<xs:enumeration value="Out"/>
			<xs:enumeration value="InOut"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SignalForm">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SignalInformationType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SignalSubType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SignalTransmissionMediumType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SignalType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SlotGender">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the gender of a slot.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SlotSealingType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the possible sealing types for a slot, if the slot shall be sealed in its usage.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SpliceType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of type of splice.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="StatusOfApproval">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of the state of an approval.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="TapingDirection">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the direction of a taping. Right means clockwise in the direction of the segment. Left means in the other direction.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="TerminalSealingType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the possible sealing types for a terminal, if the terminal shall be sealed in its usage.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="TubeShape">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines valid shapes of the cross section of a tube.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="TubeSlitStyle">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines valid types / styles of a slitted tube.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="TypeOfPermission">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of the type of a permission.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="USUnitName">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of US unit names.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Thou"/>
			<xs:enumeration value="Inch"/>
			<xs:enumeration value="Foot"/>
			<xs:enumeration value="Yard"/>
			<xs:enumeration value="Chain"/>
			<xs:enumeration value="Furlong"/>
			<xs:enumeration value="Mile"/>
			<xs:enumeration value="League"/>
			<xs:enumeration value="FluidOunce"/>
			<xs:enumeration value="Gill"/>
			<xs:enumeration value="Pint"/>
			<xs:enumeration value="Quart"/>
			<xs:enumeration value="Gallon"/>
			<xs:enumeration value="Grain"/>
			<xs:enumeration value="Drachm"/>
			<xs:enumeration value="Ounce"/>
			<xs:enumeration value="Pound"/>
			<xs:enumeration value="Stone"/>
			<xs:enumeration value="Quarter"/>
			<xs:enumeration value="HundredWeight"/>
			<xs:enumeration value="Ton"/>
			<xs:enumeration value="Perch"/>
			<xs:enumeration value="Rood"/>
			<xs:enumeration value="Acre"/>
			<xs:enumeration value="AWG">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>American wire gauge (AWG), also known as the Brown &amp; Sharpe wire gauge, is a standardized wire gauge system used in the United States and Canada.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="UsageConstraintType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of the type of a UsageContstraint. Valid values are: allow, deny.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Allow"/>
			<xs:enumeration value="Deny"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="UsageNodeType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the different types of<i>UsageNodes.</i>
				</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ValueDetermination">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Enumeration for the definition of a value determination. (see KBLFRM-316)</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Calculated">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The value is determined by a calculation algorithm.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Measured">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The value is determined by an exact measurement.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Estimated">
				<xs:annotation>
					<xs:documentation xml:lang="en">
						<p>The value is estimated by a person.</p>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="VecVersion">
		<xs:restriction base="xs:string">
			<xs:enumeration value="1.1.1"/>
			<xs:enumeration value="1.1.2"/>
			<xs:enumeration value="1.1.3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="WireElementShape">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>Defines the shape of an wire element.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="WireReceptionType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				<p>The<i>WireReceptionType</i>defines in an<i>OpenEnumeration</i>how a wire is joined with a wire reception.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
</xs:schema>
