<?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.1">
	<xs:element name="VecContent" type="vec:VecContent"/>
	<xs:complexType name="AbrasionResistanceClass">
		<xs:sequence>
			<xs:element name="ClassKey" type="xs:string"/>
			<xs:element name="ReferenceSystem" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="AbstractLocalizedString" abstract="true">
		<xs:sequence>
			<xs:element name="LanguageCode" type="vec:LanguageCode"/>
			<xs:element name="Value" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="AbstractSlot" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="SlotNumber" type="xs:string" minOccurs="0"/>
					<xs:element name="SlotSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to SlotSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Coding" type="vec:Coding" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AbstractSlotReference" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="ReferencedSlot" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to AbstractSlot</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AliasIdentification">
		<xs:sequence>
			<xs:element name="IdentificationValue" type="xs:string"/>
			<xs:element name="Scope" type="xs:string" minOccurs="0"/>
			<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="AntennaSpecification">
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="FMin" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="FMax" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="Impedance" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Approval">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="CompanyInScope" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Status" type="vec:StatusOfApproval"/>
					<xs:element name="LevelOfApproval" type="xs:string" minOccurs="0"/>
					<xs:element name="Permission" type="vec:Permission" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BSplineCurve">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Degree" type="xs:integer"/>
					<xs:element name="ControlPoint" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CartesianPoint3D</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BatterySpecification">
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="U" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="I" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="ICool" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="Capacity" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BoltMountedFixingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:FixingSpecification">
				<xs:sequence>
					<xs:element name="BoltType" type="vec:BoltMountedFixingSpecification" minOccurs="0"/>
					<xs:element name="BoltDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="BoltHeight" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BuildingBlockPositioning2D">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Referenced2DBuildingBlock" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to BuildingBlockSpecification2D</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CenterPoint" type="vec:CartesianPoint2D" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BuildingBlockPositioning3D">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Referenced3DBuildingBlock" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to BuildingBlockSpecification3D</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Positioning" type="vec:Transformation3D" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BuildingBlockSpecification2D">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="BaseUnit" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to Unit</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BoundingBox" type="vec:CartesianDimension"/>
					<xs:element name="CartesianPoint" type="vec:CartesianPoint2D" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="GeometryNode" type="vec:GeometryNode2D" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="GeometrySegment" type="vec:GeometrySegment2D" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PlacedElementViewItem" type="vec:OccurrenceOrUsageViewItem2D" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BuildingBlockSpecification3D">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Zone" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Zone</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BaseUnit" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to Unit</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CartesianPoint" type="vec:CartesianPoint3D" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="GeometryNode" type="vec:GeometryNode3D" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="GeometrySegment" type="vec:GeometrySegment3D" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PlacedElementViewItem3D" type="vec:OccurrenceOrUsageViewItem3D" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableDuctOutlet">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PlacementPoint</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableDuctRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="CableDuctSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to CableDuctSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableDuctSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Outlet" type="vec:CableDuctOutlet" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CableLeadThrough">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PlacementPoint</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianDimension">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Height" type="xs:double"/>
					<xs:element name="Width" type="xs:double"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianPoint2D">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="X" type="xs:double"/>
					<xs:element name="Y" type="xs:double"/>
					<xs:element name="Sheet" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to SheetOrChapter</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianPoint3D">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="X" type="xs:double"/>
					<xs:element name="Y" type="xs:double"/>
					<xs:element name="Z" type="xs:double"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianVector" abstract="true">
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="CartesianVector2D">
		<xs:complexContent>
			<xs:extension base="vec:CartesianVector">
				<xs:sequence>
					<xs:element name="X" type="xs:double"/>
					<xs:element name="Y" type="xs:double"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CartesianVector3D">
		<xs:complexContent>
			<xs:extension base="vec:CartesianVector">
				<xs:sequence>
					<xs:element name="X" type="xs:double"/>
					<xs:element name="Y" type="xs:double"/>
					<xs:element name="Z" type="xs:double"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Cavity">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Available" type="xs:boolean" minOccurs="0"/>
					<xs:element name="CavityNumber" type="xs:string" minOccurs="0"/>
					<xs:element name="WireAddOn" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="CavitySpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CavitySpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityMapping">
		<xs:sequence>
			<xs:element name="IdentificationA" type="xs:string"/>
			<xs:element name="IdentificationB" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="CavityMounting">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="EquippedCavityRef" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to CavityReference</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReplacedPlug" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CavityPlugRole</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavityMountingDetail" type="vec:CavityMountingDetail" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityMountingDetail">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="EquippedCavityRef" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to CavityReference</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalReceptionReference" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to TerminalReceptionReference</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityPlugRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="CavityPlugSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to CavityPlugSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PluggedCavityRef" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CavityReference</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityPlugSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="CavityDiameter" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="Hardness" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="SealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavityReference">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="ComponentPort" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ComponentPort</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedCavity" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to Cavity</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavitySealRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="CavitySealSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to CavitySealSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavitySealSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="CavityDiameter" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="Hardness" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="SealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="WireElementOutsideDiameter" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="WireReceptionType" type="xs:string" minOccurs="0"/>
					<xs:element name="CompatibleTerminalType" type="vec:TerminalType" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CavitySpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Angle" type="vec:NumericalValue" minOccurs="0" maxOccurs="2"/>
					<xs:element name="CavityDesign" type="xs:string" minOccurs="0"/>
					<xs:element name="CavityDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="MaxWireElementOutsideDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="PrimaryLockingType" type="xs:string" minOccurs="0"/>
					<xs:element name="Sealable" type="xs:boolean" minOccurs="0"/>
					<xs:element name="CompatibleTerminalType" type="vec:TerminalType" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ChangeDescription">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="Label" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Approver" type="vec:Person" minOccurs="0"/>
					<xs:element name="ChangeDate" type="xs:dateTime" minOccurs="0"/>
					<xs:element name="ResponsibleDesigner" type="vec:Person"/>
					<xs:element name="RelatedChangeRequest" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Coding">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Coding" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Color">
		<xs:sequence>
			<xs:element name="Key" type="xs:string"/>
			<xs:element name="ReferenceSystem" type="xs:string"/>
			<xs:element name="Description" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="CompatibilitySpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="CompatibilityStatement" type="vec:CompatibilityStatement" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CompatibilityStatement">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="HasCompatibility" type="xs:boolean"/>
					<xs:element name="Cavity" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Cavity</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavityPlugSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CavityPlugSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavitySealSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CavitySealSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavitySpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CavitySpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectorHousingSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ConnectorHousingSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Slot" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to AbstractSlot</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TerminalSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to WireSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ComponentNode">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ComponentNodeType" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="NetworkNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to NetworkNode</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RealizedUsageNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to UsageNode</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ChildNode" type="vec:ComponentNode" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ComponentPort" type="vec:ComponentPort" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ComponentPort">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="SignalDirection" type="vec:SignalDirection" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="NetworkPort" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to NetworkPort</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Signal</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CompositeUnit">
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="Factors" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to Unit</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CompositionSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Component" type="vec:PartOccurrence" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConductorCurrentInformation">
		<xs:sequence>
			<xs:element name="MaxCurrent" type="vec:NumericalValue"/>
			<xs:element name="EnvironmentTemperature" type="vec:NumericalValue"/>
			<xs:element name="Voltage" type="vec:NumericalValue"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="ConductorSpecification" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="CrossSectionArea" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="MassInformation" type="vec:MassInformation" minOccurs="0"/>
					<xs:element name="Material" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Resistance" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="Structure" type="xs:string" minOccurs="0"/>
					<xs:element name="Type" type="xs:string" minOccurs="0"/>
					<xs:element name="NumberOfStrands" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="PlatingMaterial" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="StrandDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="VoltageRange" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="CurrentInformation" type="vec:ConductorCurrentInformation" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConfigurableElement" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="ConfigInfo" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to VariantConfiguration</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConformanceClass">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Version" type="xs:string"/>
					<xs:element name="Url" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Connection">
		<xs:complexContent>
			<xs:extension base="vec:RoutableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="InstallationInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Net" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Net</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Signal</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectionEnd" type="vec:ConnectionEnd" minOccurs="2" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectionEnd">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="IsExternalEnd" type="xs:boolean"/>
					<xs:element name="Gender" type="xs:string" minOccurs="0"/>
					<xs:element name="InstallationInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ConnectedComponentPort" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to ComponentPort</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectionGroup">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="ConnectionGroupType" type="xs:string"/>
					<xs:element name="InstallationInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Connection" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to Connection</xs:documentation>
							<xs:appinfo>There shall be at least 2 elements referenced.</xs:appinfo>
						</xs:annotation>
					</xs:element>
					<xs:element name="NetGroup" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to NetGroup</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SubGroup" type="vec:ConnectionGroup" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectionSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ComponentNode" type="vec:ComponentNode" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Connection" type="vec:Connection" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ConnectionGroup" type="vec:ConnectionGroup" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectorHousingRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="SealState" type="vec:SealState" minOccurs="0"/>
					<xs:element name="ComponentNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ComponentNode</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ConnectorHousingSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to ConnectorHousingSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SlotReference" type="vec:AbstractSlotReference" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectorHousingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="AverageWireLengthAddOn" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="VoltageRange" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="Coupleable" type="xs:boolean" minOccurs="0"/>
					<xs:element name="SealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Coding" type="vec:Coding" minOccurs="0"/>
					<xs:element name="SegmentConnectionPoint" type="vec:SegmentConnectionPoint" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Slot" type="vec:AbstractSlot" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ContactPoint">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="MountedTerminal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TerminalRole</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CavityMounting" type="vec:CavityMounting" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="WireMounting" type="vec:WireMounting" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ContactSystem">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="ContactResistance" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="JoiningForce" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="FirstTerminal" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to PartVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedCoreSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to ConductorSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SecondTerminal" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to PartVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ContactSystemSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ContactSystem" type="vec:ContactSystem" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ContactingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ContactPoint" type="vec:ContactPoint" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Contract">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CompanyName" type="xs:string"/>
					<xs:element name="ContractRole" type="vec:ContractRole"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CopyrightInformation">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CopyrightNote" type="vec:LocalizedString"/>
					<xs:element name="Item" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to ItemVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CoreSpecification">
		<xs:complexContent>
			<xs:extension base="vec:ConductorSpecification">
				<xs:sequence>
					<xs:element name="OutsideDiameter" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CorrugatedPipeSpecification">
		<xs:complexContent>
			<xs:extension base="vec:TubeSpecification">
				<xs:sequence>
					<xs:element name="CorrugationHeight" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="CorrugationWidth" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="CorrugationGradient" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Creation">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CreationDate" type="xs:dateTime"/>
					<xs:element name="Creator" type="vec:Person" minOccurs="0"/>
					<xs:element name="ResponsibleDesigner" type="vec:Person" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CustomProperty" abstract="true">
		<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:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Dimension">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="DimensionValue" type="vec:NumericalValue"/>
					<xs:element name="DimensionAnchor" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to DimensionAnchor</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferenceAnchor" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to DimensionAnchor</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DefinedLocations" type="vec:Location" minOccurs="0" maxOccurs="2"/>
					<xs:element name="Path" type="vec:Path" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DimensionAnchor" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DocumentBasedInstruction">
		<xs:complexContent>
			<xs:extension base="vec:Instruction">
				<xs:sequence>
					<xs:element name="ReferencedDocument" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to DocumentVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedSheetOrChapter" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to SheetOrChapter</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DocumentVersion">
		<xs:complexContent>
			<xs:extension base="vec:ItemVersion">
				<xs:sequence>
					<xs:element name="DocumentNumber" type="xs:string"/>
					<xs:element name="DocumentType" type="xs:string" minOccurs="0"/>
					<xs:element name="DocumentVersion" type="xs:string"/>
					<xs:element name="CreatingSystem" type="xs:string" minOccurs="0"/>
					<xs:element name="DataFormat" type="xs:string" minOccurs="0"/>
					<xs:element name="FileName" type="xs:string" minOccurs="0"/>
					<xs:element name="Location" type="xs:string" minOccurs="0"/>
					<xs:element name="NumberOfSheets" type="xs:string" minOccurs="0"/>
					<xs:element name="ReferencedPart" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RelatedDocument" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to DocumentVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ItemEquivalence" type="vec:ItemEquivalence" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="SheetOrChapter" type="vec:SheetOrChapter" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Specification" type="vec:Specification" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="EEComponentRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="EEComponentSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to EEComponentSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ComponentNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ComponentNode</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MountingCavity" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CavityReference</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MountingHousing" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ConnectorHousingRole</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MountingSlot" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to AbstractSlotReference</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="HousingComponentRef" type="vec:HousingComponentReference" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="EEComponentSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="PowerConsumption" type="vec:PowerConsumption" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="HousingComponent" type="vec:HousingComponent" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="EdgeMountedFixingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:FixingSpecification">
				<xs:sequence>
					<xs:element name="EdgeThickness" type="vec:ValueRange" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ExtendableElement" abstract="true">
		<xs:sequence>
			<xs:element name="CustomProperty" type="vec:CustomProperty" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="ExternalMapping">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="ExternalReference" type="xs:string"/>
					<xs:element name="MappedElement" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to ExtendableElement</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ExternalMappingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="MappedDocument" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to DocumentVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Mappings" type="vec:ExternalMapping" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FileBasedInstruction">
		<xs:complexContent>
			<xs:extension base="vec:Instruction">
				<xs:sequence>
					<xs:element name="FileName" type="xs:string"/>
					<xs:element name="LastModified" type="xs:dateTime" minOccurs="0"/>
					<xs:element name="DataFormat" type="xs:string" minOccurs="0"/>
					<xs:element name="Location" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FillerSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Material" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Diameter" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FittingOutlet">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="InnerDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="OuterDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="NominalSize" type="xs:string" minOccurs="0"/>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PlacementPoint</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FittingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:WireProtectionSpecification">
				<xs:sequence>
					<xs:element name="Form" type="xs:string" minOccurs="0"/>
					<xs:element name="Outlet" type="vec:FittingOutlet" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FixingRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="FixingSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to FixingSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FixingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Offset" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FuseSpecification">
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="FuseType" type="xs:string" minOccurs="0"/>
					<xs:element name="IMax" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeneralTechnicalPartSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="ColorInformation" type="vec:Color" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="MassInformation" type="vec:MassInformation" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="MaterialInformation" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="RobustnessProperties" type="vec:RobustnessProperties" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="TemperatureInformation" type="vec:TemperatureInformation" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PartRelation" type="vec:PartRelation" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometryNode" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ReferenceNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TopologyNode</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometryNode2D">
		<xs:complexContent>
			<xs:extension base="vec:GeometryNode">
				<xs:sequence>
					<xs:element name="CartesianPoint" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to CartesianPoint2D</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometryNode3D">
		<xs:complexContent>
			<xs:extension base="vec:GeometryNode">
				<xs:sequence>
					<xs:element name="CartesianPoint" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to CartesianPoint3D</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometrySegment" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ReferenceSegment" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TopologySegment</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometrySegment2D">
		<xs:complexContent>
			<xs:extension base="vec:GeometrySegment">
				<xs:sequence>
					<xs:element name="StartVector" type="vec:CartesianVector2D"/>
					<xs:element name="EndVector" type="vec:CartesianVector2D"/>
					<xs:element name="EndNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to GeometryNode2D</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="StartNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to GeometryNode2D</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PathSegment" type="vec:PathSegment" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GeometrySegment3D">
		<xs:complexContent>
			<xs:extension base="vec:GeometrySegment">
				<xs:sequence>
					<xs:element name="StartVector" type="vec:CartesianVector3D"/>
					<xs:element name="EndVector" type="vec:CartesianVector3D"/>
					<xs:element name="EndNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to GeometryNode3D</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="StartNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to GeometryNode3D</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="BSplineCurve" type="vec:BSplineCurve" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GrommetRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="GrommetSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to GrommetSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GrommetSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Hardness" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="HoleDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="PlateThickness" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="GrommetType" type="xs:string" minOccurs="0"/>
					<xs:element name="SealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="CableLeadThrough" type="vec:CableLeadThrough" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HarnessDrawingSpecification2D">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="BuildingBlockPositionings" type="vec:BuildingBlockPositioning2D" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HarnessGeometrySpecification3D">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Type" type="vec:GeometryType"/>
					<xs:element name="BuildingBlockPositionings" type="vec:BuildingBlockPositioning3D" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HoleMountedFixingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:FixingSpecification">
				<xs:sequence>
					<xs:element name="HoleDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="PlateThickness" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="HoleType" type="xs:string" minOccurs="0"/>
					<xs:element name="HoleShape" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HousingComponent">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="HousingSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ConnectorHousingSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PinComponent" type="vec:PinComponent" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HousingComponentReference">
		<xs:sequence>
			<xs:element name="Identification" type="xs:string" minOccurs="0"/>
			<xs:element name="HousingComponent" type="xs:IDREF">
				<xs:annotation>
					<xs:documentation>ref to HousingComponent</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PinComponentRef" type="vec:PinComponentReference" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="IECUnit">
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="IecUnitName" type="vec:IECUnitName"/>
					<xs:element name="IecPrefix" type="vec:IECPrefix" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ImperialUnit">
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="ImperialUnitName" type="vec:ImperialUnitName"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Instruction" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="InsulationSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="BaseColor" type="vec:Color" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="FirstIdentificationColor" type="vec:Color" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="SecondIdentificationColor" type="vec:Color" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="LabelIdentificationColor" type="vec:Color" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="LabelIdentificationType" type="xs:string" minOccurs="0"/>
					<xs:element name="LabelIdentificationValue" type="xs:string" minOccurs="0"/>
					<xs:element name="Material" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Thickness" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="InternalTerminalConnection">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="TerminalReception" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TerminalReception</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireReception" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to WireReception</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ItemEquivalence">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CompanyName" type="xs:string"/>
					<xs:element name="Item" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to ItemVersion</xs:documentation>
							<xs:appinfo>There shall be at least 2 elements referenced.</xs:appinfo>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ItemHistoryEntry">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Type" type="vec:HistoryEntryType"/>
					<xs:element name="PredecessorVersion" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to ItemVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SuccessorVersion" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to ItemVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ItemVersion" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="CompanyName" type="xs:string"/>
					<xs:element name="ProcessingInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Contract" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Contract</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Approval" type="vec:Approval" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ChangeDescription" type="vec:ChangeDescription" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Creation" type="vec:Creation" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="LocalizedString">
		<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:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="LocalizedTypedString">
		<xs:complexContent>
			<xs:extension base="vec:AbstractLocalizedString">
				<xs:sequence>
					<xs:element name="Type" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Location" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:DimensionAnchor">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="MatchingId" type="xs:string" minOccurs="0"/>
					<xs:element name="PlacedPlacementPoints" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PlacementPointReference</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Mapping">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="A" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to PartVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="B" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to PartVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SlotMapping" type="vec:SlotMapping" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MappingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Mapping" type="vec:Mapping" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MassInformation">
		<xs:sequence>
			<xs:element name="DeterminationType" type="vec:ValueDetermination" minOccurs="0"/>
			<xs:element name="Value" type="vec:NumericalValue"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Material">
		<xs:sequence>
			<xs:element name="Key" type="xs:string"/>
			<xs:element name="ReferenceSystem" type="xs:string"/>
			<xs:element name="Description" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="MatingDetail">
		<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>ref to TerminalReceptionReference</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SecondTerminalReception" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to TerminalReceptionReference</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MatingPoint">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="FirstTerminalRole" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to TerminalRole</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SecondTerminalRole" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to TerminalRole</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MatingDetail" type="vec:MatingDetail" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MatingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="MatingPoint" type="vec:MatingPoint" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MeasurementPoint">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MeasurementPointReference">
		<xs:complexContent>
			<xs:extension base="vec:DimensionAnchor">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="MeasurementPoint" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to MeasurementPoint</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModularSlot">
		<xs:complexContent>
			<xs:extension base="vec:AbstractSlot">
				<xs:sequence>
					<xs:element name="Optional" type="xs:boolean" minOccurs="0"/>
					<xs:element name="AllowedInserts" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ConnectorHousingSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModularSlotReference">
		<xs:complexContent>
			<xs:extension base="vec:AbstractSlotReference">
				<xs:sequence>
					<xs:element name="UsedInserts" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ConnectorHousingRole</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModuleFamily">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ModuleInFamily" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to PartWithSubComponentsRole</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModuleFamilySpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ModuleFamily" type="vec:ModuleFamily" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModuleList">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="CompletionComponents" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to PartOccurrence</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ModuleInList" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to PartWithSubComponentsRole</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModuleListSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ModuleListConfiguration" type="vec:ModuleList" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MultiCavityPlugSpecification">
		<xs:complexContent>
			<xs:extension base="vec:CavityPlugSpecification">
				<xs:sequence>
					<xs:element name="Assignment" type="vec:SealedCavitiesAssignment" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MultiCavitySealSpecification">
		<xs:complexContent>
			<xs:extension base="vec:CavitySealSpecification">
				<xs:sequence>
					<xs:element name="Assignment" type="vec:OpenCavitiesAssignment" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Net">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="NetworkPort" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to NetworkPort</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Signal</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NetGroup">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="NetGroupType" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Net" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to Net</xs:documentation>
							<xs:appinfo>There shall be at least 2 elements referenced.</xs:appinfo>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NetSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Net" type="vec:Net" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="NetGroup" type="vec:NetGroup" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="NetworkNode" type="vec:NetworkNode" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NetworkNode">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="NetworkNodeType" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="RealizedUsageNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to UsageNode</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Port" type="vec:NetworkPort" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NetworkPort">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="SignalDirection" type="vec:SignalDirection" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Signal</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NodeLocation">
		<xs:complexContent>
			<xs:extension base="vec:Location">
				<xs:sequence>
					<xs:element name="ReferencedNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to TopologyNode</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NumericalValue">
		<xs:complexContent>
			<xs:extension base="vec:ValueWithUnit">
				<xs:sequence>
					<xs:element name="ValueComponent" type="xs:double"/>
					<xs:element name="Tolerance" type="vec:Tolerance" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NumericalValueProperty">
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="vec:NumericalValue"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OccurrenceOrUsage" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="RealizedUsageNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to UsageNode</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InstallationInstruction" type="vec:Instruction" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Role" type="vec:Role" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OccurrenceOrUsageViewItem2D">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="GridSquare" type="xs:string" minOccurs="0"/>
					<xs:element name="OccurrenceOrUsage" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to OccurrenceOrUsage</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Orientation" type="vec:Transformation2D" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OccurrenceOrUsageViewItem3D">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="OccurrenceOrUsage" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to OccurrenceOrUsage</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Orientation" type="vec:Transformation3D" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OnPointPlacement">
		<xs:complexContent>
			<xs:extension base="vec:Placement">
				<xs:sequence>
					<xs:element name="Location" type="vec:Location" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OnWayPlacement">
		<xs:complexContent>
			<xs:extension base="vec:Placement">
				<xs:sequence>
					<xs:element name="EndLocation" type="vec:Location"/>
					<xs:element name="Path" type="vec:Path" minOccurs="0"/>
					<xs:element name="StartLocation" type="vec:Location"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OpenCavitiesAssignment">
		<xs:sequence>
			<xs:element name="OpenCavities" type="xs:IDREFS">
				<xs:annotation>
					<xs:documentation>ref to Cavity</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="OtherUnit">
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="OtherUnitName" type="vec:OtherUnitName"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartOccurrence">
		<xs:complexContent>
			<xs:extension base="vec:OccurrenceOrUsage">
				<xs:sequence>
					<xs:element name="IsSecondaryAlternative" type="xs:boolean" minOccurs="0"/>
					<xs:element name="AlternativeOccurrence" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartOccurrence</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InstanciatedOccurrence" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartOccurrence</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Part" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RealizedPartUsage" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartUsage</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferenceElement" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartOccurrence</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartOrUsageRelatedSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="SpecialPartType" type="xs:string" minOccurs="0"/>
					<xs:element name="DescribedPart" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartRelation">
		<xs:sequence>
			<xs:element name="RelationType" type="vec:PartRelationType"/>
			<xs:element name="AccessoryPart" type="xs:IDREFS">
				<xs:annotation>
					<xs:documentation>ref to PartVersion</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PartStructureSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Content" type="xs:string" minOccurs="0"/>
					<xs:element name="InBillOfMaterial" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartOccurrence</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartUsage">
		<xs:complexContent>
			<xs:extension base="vec:OccurrenceOrUsage">
				<xs:sequence>
					<xs:element name="PrimaryPartUsageType" type="vec:PrimaryPartType"/>
					<xs:element name="PartOrUsageRelatedSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartOrUsageRelatedSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartUsageSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="PartUsage" type="vec:PartUsage" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartVersion">
		<xs:complexContent>
			<xs:extension base="vec:ItemVersion">
				<xs:sequence>
					<xs:element name="PartNumber" type="xs:string"/>
					<xs:element name="PartVersion" type="xs:string"/>
					<xs:element name="PrimaryPartType" type="vec:PrimaryPartType"/>
					<xs:element name="IsPreferredPart" type="xs:string" minOccurs="0"/>
					<xs:element name="PreferredUseCase" type="xs:string" minOccurs="0"/>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Project" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Project</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartWithSubComponentsRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="PartStructureSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to PartStructureSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SubComponent" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to OccurrenceOrUsage</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Path">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Segment" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TopologySegment</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PathSegment">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CurveRadius" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="ControlPoint" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CartesianPoint2D</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Permission">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Permission" type="vec:TypeOfPermission"/>
					<xs:element name="PermissionDate" type="xs:dateTime" minOccurs="0"/>
					<xs:element name="Permitter" type="vec:Person" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Person">
		<xs:sequence>
			<xs:element name="CompanyName" type="xs:string" minOccurs="0"/>
			<xs:element name="Department" type="xs:string" minOccurs="0"/>
			<xs:element name="FirstName" type="xs:string" minOccurs="0"/>
			<xs:element name="LastName" type="xs:string"/>
			<xs:element name="PhoneNumber" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="EmailAddress" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PinComponent">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PinSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TerminalSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedCavity" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Cavity</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Behaviour" type="vec:PinComponentBehavior" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PinComponentBehavior">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="SignalDirection" type="vec:SignalDirection" minOccurs="0"/>
					<xs:element name="PinType" type="vec:PinType" minOccurs="0"/>
					<xs:element name="ApplianceType" type="vec:PinApplianceType" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Signal</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CurrentInformation" type="vec:PinCurrentInformation" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="OpticalInformation" type="vec:PinOpticalInformation" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="VoltageInformation" type="vec:PinVoltageInformation" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PinComponentReference">
		<xs:sequence>
			<xs:element name="Identification" type="xs:string" minOccurs="0"/>
			<xs:element name="PinComponent" type="xs:IDREF">
				<xs:annotation>
					<xs:documentation>ref to PinComponent</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TerminalRole" type="vec:TerminalRole" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PinCurrentInformation">
		<xs:sequence>
			<xs:element name="Type" type="vec:PinCurrentType"/>
			<xs:element name="Current" type="vec:NumericalValue"/>
			<xs:element name="Time" type="vec:PinTiming" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PinOpticalInformation">
		<xs:sequence>
			<xs:element name="Frequency" type="vec:NumericalValue"/>
			<xs:element name="Attenuation" type="vec:NumericalValue" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PinTiming">
		<xs:sequence>
			<xs:element name="Type" type="vec:PinTimingType"/>
			<xs:element name="Time" type="vec:NumericalValue"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PinVoltageInformation">
		<xs:sequence>
			<xs:element name="Type" type="vec:PinVoltageType"/>
			<xs:element name="Voltage" type="vec:NumericalValue"/>
			<xs:element name="Time" type="vec:PinTiming" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="PlaceableElementRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="PlaceableElementSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to PlaceableElementSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="MeasurementPointReference" type="vec:MeasurementPointReference" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PlacementPointReference" type="vec:PlacementPointReference" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PlaceableElementSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="ValidPlacementTypes" type="vec:PlacementType" maxOccurs="2"/>
					<xs:element name="MeasurementPoint" type="vec:MeasurementPoint" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PlacementPoint" type="vec:PlacementPoint" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Placement" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Type" type="xs:string" minOccurs="0"/>
					<xs:element name="IsOnTopOf" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Placement</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PlacedElement" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to PlaceableElementRole</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PlacementPoint">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="SegmentDiameter" type="vec:ValueRange" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PlacementPointReference">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="PlacementPoint" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to PlacementPoint</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PlacementSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Dimension" type="vec:Dimension" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Placement" type="vec:Placement" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PluggableTerminalRole">
		<xs:complexContent>
			<xs:extension base="vec:TerminalRole"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PluggableTerminalSpecification">
		<xs:complexContent>
			<xs:extension base="vec:TerminalSpecification"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PowerConsumption">
		<xs:sequence>
			<xs:element name="Type" type="xs:string"/>
			<xs:element name="Value" type="vec:NumericalValue"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Project">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="CarClassificationLevel2" type="xs:string" minOccurs="0"/>
					<xs:element name="CarClassificationLevel3" type="xs:string" minOccurs="0"/>
					<xs:element name="CarClassificationLevel4" type="xs:string" minOccurs="0"/>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RelaySpecification">
		<xs:complexContent>
			<xs:extension base="vec:EEComponentSpecification">
				<xs:sequence>
					<xs:element name="IMax" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="RelaisType" type="xs:string" minOccurs="0"/>
					<xs:element name="CoilContact" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PinComponent</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SwitchContact" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PinComponent</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RingTerminalRole">
		<xs:complexContent>
			<xs:extension base="vec:TerminalRole"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RingTerminalSpecification">
		<xs:complexContent>
			<xs:extension base="vec:TerminalSpecification">
				<xs:sequence>
					<xs:element name="BoltDiameter" type="vec:NumericalValue"/>
					<xs:element name="Thickness" type="vec:NumericalValue"/>
					<xs:element name="BoltType" type="xs:string"/>
					<xs:element name="OutsideDimension" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="TorsionProtection" type="xs:boolean" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RobustnessProperties">
		<xs:sequence>
			<xs:element name="Class" type="xs:string"/>
			<xs:element name="ClassKey" type="xs:string" minOccurs="0"/>
			<xs:element name="ClassReferenceSystem" type="xs:string"/>
			<xs:element name="HasRobustness" type="xs:boolean"/>
			<xs:element name="Description" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Role" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RoutableElement" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Routing">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="SpecialRoutedComment" type="vec:LocalizedString" minOccurs="0"/>
					<xs:element name="SpecialRouted" type="xs:boolean" minOccurs="0"/>
					<xs:element name="MandatorySegment" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TopologySegment</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RoutedElement" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to RoutableElement</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Path" type="vec:Path"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RoutingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Routing" type="vec:Routing" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SIUnit">
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="SiUnitName" type="vec:SiUnitName"/>
					<xs:element name="SiPrefix" type="vec:SiPrefix" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SealedCavitiesAssignment">
		<xs:sequence>
			<xs:element name="SealedCavities" type="xs:IDREFS">
				<xs:annotation>
					<xs:documentation>ref to Cavity</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SealingClass">
		<xs:sequence>
			<xs:element name="Class" type="xs:string"/>
			<xs:element name="ClassKey" type="xs:string"/>
			<xs:element name="ClassReferenceSystem" type="xs:string"/>
			<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SegmentConnectionPoint">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PlacementPoint</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReachableCavities" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Cavity</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SegmentCrossSectionArea">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Area" type="vec:NumericalValue"/>
					<xs:element name="ValueDetermination" type="vec:ValueDetermination"/>
					<xs:element name="CrossSectionAreaType" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SegmentLength">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Length" type="vec:NumericalValue"/>
					<xs:element name="Classification" type="vec:LengthClassification"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SegmentLocation">
		<xs:complexContent>
			<xs:extension base="vec:Location">
				<xs:sequence>
					<xs:element name="Offset" type="vec:NumericalValue"/>
					<xs:element name="Anchor" type="vec:AnchorType"/>
					<xs:element name="ReferencedSegment" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to TopologySegment</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SheetOrChapter">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="ReferencedPart" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ShieldSpecification">
		<xs:complexContent>
			<xs:extension base="vec:ConductorSpecification">
				<xs:sequence>
					<xs:element name="OpticalTissueDensity" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="WindingType" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ShrinkableTubeSpecification">
		<xs:complexContent>
			<xs:extension base="vec:TubeSpecification">
				<xs:sequence>
					<xs:element name="ShrinkingFactor" type="xs:double" minOccurs="0"/>
					<xs:element name="MaximumLongitudinalShrinkage" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="Resin" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="WaterAbsorbtion" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Signal">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="SignalName" type="xs:string"/>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="SignalInformationType" type="vec:SignalInformationType" minOccurs="0"/>
					<xs:element name="SignalTransmissionMediumType" type="vec:SignalTransmissionMediumType" minOccurs="0"/>
					<xs:element name="SignalForm" type="vec:SignalForm" minOccurs="0"/>
					<xs:element name="SignalCurve" type="vec:SignalCurve" minOccurs="0"/>
					<xs:element name="RecommendedConductorSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ConductorSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RecommendedInsulationSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to InsulationSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SignalSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Signal" type="vec:Signal" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SimpleValueProperty">
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Size">
		<xs:sequence>
			<xs:element name="Width" type="vec:NumericalValue"/>
			<xs:element name="Height" type="vec:NumericalValue"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Slot">
		<xs:complexContent>
			<xs:extension base="vec:AbstractSlot">
				<xs:sequence>
					<xs:element name="ColorInformation" type="vec:Color" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="SealingType" type="xs:string" minOccurs="0"/>
					<xs:element name="Cavity" type="vec:Cavity" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SlotLayout">
		<xs:sequence>
			<xs:element name="GridX" type="vec:NumericalValue" minOccurs="0"/>
			<xs:element name="GridY" type="vec:NumericalValue" minOccurs="0"/>
			<xs:element name="RowCount" type="xs:integer" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SlotMapping">
		<xs:sequence>
			<xs:element name="IdentificationA" type="xs:string"/>
			<xs:element name="IdentificationB" type="xs:string"/>
			<xs:element name="CavityMapping" type="vec:CavityMapping" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SlotReference">
		<xs:complexContent>
			<xs:extension base="vec:AbstractSlotReference">
				<xs:sequence>
					<xs:element name="CavityReference" type="vec:CavityReference" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SlotSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="EmvProtectionRequired" type="xs:boolean" minOccurs="0"/>
					<xs:element name="Gender" type="vec:SlotGender" minOccurs="0"/>
					<xs:element name="LayoutType" type="xs:string" minOccurs="0"/>
					<xs:element name="SecondaryLocking" type="xs:boolean" minOccurs="0"/>
					<xs:element name="NumberOfCavities" type="xs:integer"/>
					<xs:element name="SlotLayout" type="vec:SlotLayout" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SoundDampingClass">
		<xs:sequence>
			<xs:element name="ClassKey" type="xs:string"/>
			<xs:element name="ReferenceSystem" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SpecificRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="SpecificRoleType" type="xs:string"/>
					<xs:element name="Specification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to PartOrUsageRelatedSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Specification" abstract="true">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SpliceTerminalRole">
		<xs:complexContent>
			<xs:extension base="vec:TerminalRole">
				<xs:sequence>
					<xs:element name="SpliceType" type="vec:SpliceType" minOccurs="0"/>
					<xs:element name="InsulationState" type="vec:InsulationState" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SpliceTerminalSpecification">
		<xs:complexContent>
			<xs:extension base="vec:TerminalSpecification"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="StripeSpecification">
		<xs:complexContent>
			<xs:extension base="vec:WireProtectionSpecification">
				<xs:sequence>
					<xs:element name="Length" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="SegmentDiameter" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="Width" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TapeSpecification">
		<xs:complexContent>
			<xs:extension base="vec:WireProtectionSpecification">
				<xs:sequence>
					<xs:element name="Backing" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Adhesive" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Width" type="vec:NumericalValue" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Thickness" type="vec:NumericalValue" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="CoilCoreDiameter" type="vec:NumericalValue" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TemperatureInformation">
		<xs:sequence>
			<xs:element name="TemperatureRange" type="vec:ValueRange" minOccurs="0"/>
			<xs:element name="TemperatureType" type="xs:string" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="TerminalCurrentInformation">
		<xs:sequence>
			<xs:element name="CurrentRange" type="vec:ValueRange"/>
			<xs:element name="NominalVoltage" type="vec:NumericalValue"/>
			<xs:element name="CoreCrossSectionArea" type="vec:NumericalValue"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="TerminalReception">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Gender" type="xs:string" minOccurs="0"/>
					<xs:element name="TerminalReceptionSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TerminalReceptionSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TerminalReceptionReference">
		<xs:sequence>
			<xs:element name="Identification" type="xs:string" minOccurs="0"/>
			<xs:element name="TerminalReception" type="xs:IDREF">
				<xs:annotation>
					<xs:documentation>ref to TerminalReception</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="TerminalReceptionSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="CavityDesign" type="xs:string" minOccurs="0"/>
					<xs:element name="PlatingMaterial" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PrimaryLockingType" type="xs:string" minOccurs="0"/>
					<xs:element name="PullOutForce" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="TerminalType" type="vec:TerminalType" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TerminalRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="SealState" type="vec:SealState" minOccurs="0"/>
					<xs:element name="ComponentPort" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ComponentPort</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to TerminalSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TerminalReceptionReference" type="vec:TerminalReceptionReference" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="WireReceptionReference" type="vec:WireReceptionReference" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TerminalSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="Angle" type="vec:NumericalValue" minOccurs="0" maxOccurs="2"/>
					<xs:element name="SealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="VoltageRange" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="CurrentInformation" type="vec:TerminalCurrentInformation" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="InternalTerminalConnection" type="vec:InternalTerminalConnection" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="TerminalReception" type="vec:TerminalReception" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="WireReception" type="vec:WireReception" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TerminalType">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Name" type="xs:string"/>
					<xs:element name="NominalSize" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TextBasedInstruction">
		<xs:complexContent>
			<xs:extension base="vec:Instruction">
				<xs:sequence>
					<xs:element name="InstallationInstruction" type="vec:LocalizedString" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Tolerance">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="LowerBoundary" type="xs:double"/>
					<xs:element name="UpperBoundary" type="xs:double"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TopologyGroupSpecification">
		<xs:complexContent>
			<xs:extension base="vec:TopologySpecification">
				<xs:sequence>
					<xs:element name="TopologySpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to TopologySpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TopologyNode">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="MatchingPointId" type="xs:string" minOccurs="0"/>
					<xs:element name="ProcessingInstruction" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="NodeType" type="vec:NodeType" minOccurs="0"/>
					<xs:element name="RealizedUsageNode" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to UsageNode</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TopologySegment">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Form" type="vec:SegmentForm"/>
					<xs:element name="AliasId" type="vec:AliasIdentification" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ProcessingInstruction" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="EndNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to TopologyNode</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="StartNode" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to TopologyNode</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CrossSectionAreaInformation" type="vec:SegmentCrossSectionArea" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="LengthInformation" type="vec:SegmentLength" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TopologySpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="TopologyNode" type="vec:TopologyNode" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="TopologySegment" type="vec:TopologySegment" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Zone" type="vec:Zone" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Transformation2D">
		<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>ref to CartesianPoint2D</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Transformation3D">
		<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>ref to CartesianPoint3D</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TubeSpecification">
		<xs:complexContent>
			<xs:extension base="vec:WireProtectionSpecification">
				<xs:sequence>
					<xs:element name="BendRadius" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="InnerDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="WallThickness" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="IsSlit" type="xs:boolean" minOccurs="0"/>
					<xs:element name="NominalSize" type="xs:string" minOccurs="0"/>
					<xs:element name="OuterDiameter" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="USUnit">
		<xs:complexContent>
			<xs:extension base="vec:Unit">
				<xs:sequence>
					<xs:element name="UsUnitName" type="vec:USUnitName"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Unit" abstract="true">
		<xs:sequence>
			<xs:element name="Exponent" type="xs:integer" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="UsageConstraint">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Type" type="vec:UsageConstraintType"/>
					<xs:element name="FromDate" type="xs:dateTime" minOccurs="0"/>
					<xs:element name="ToDate" type="xs:dateTime" minOccurs="0"/>
					<xs:element name="FromSerialNumber" type="xs:string" minOccurs="0"/>
					<xs:element name="ToSerialNumber" type="xs:string" minOccurs="0"/>
					<xs:element name="ProjectPhase" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Project" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Project</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="UsageNode" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to UsageNode</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="UsageConstraintSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="ConstrainedParts" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PartVersion</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PartUsageConstraint" type="vec:UsageConstraint" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="UsageNode">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Abbreviation" type="vec:LocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="UsageNodeType" type="vec:UsageNodeType" minOccurs="0"/>
					<xs:element name="UsedInProject" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Project</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SubUsageNodes" type="vec:UsageNode" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="UsageNodeSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="UsageNodes" type="vec:UsageNode" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueRange">
		<xs:complexContent>
			<xs:extension base="vec:ValueWithUnit">
				<xs:sequence>
					<xs:element name="Minimum" type="xs:double"/>
					<xs:element name="Maximum" type="xs:double"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueRangeProperty">
		<xs:complexContent>
			<xs:extension base="vec:CustomProperty">
				<xs:sequence>
					<xs:element name="Value" type="vec:ValueRange"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueWithUnit" abstract="true">
		<xs:sequence>
			<xs:element name="UnitComponent" type="xs:IDREF">
				<xs:annotation>
					<xs:documentation>ref to Unit</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="VariantCode">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="CodeType" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantCodeSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="VariantCode" type="vec:VariantCode" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantConfiguration">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="LogisticControlString" type="xs:string" minOccurs="0"/>
					<xs:element name="LogisticControlExpression" type="xs:string" minOccurs="0"/>
					<xs:element name="ConfigurationType" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantConfigurationSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="VariantConfiguration" type="vec:VariantConfiguration" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantGroup">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="GroupType" type="xs:string" minOccurs="0"/>
					<xs:element name="VariantCode" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to VariantCode</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VariantGroupSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="VariantGroup" type="vec:VariantGroup" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VecContent">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="VecVersion" type="vec:VecVersion"/>
					<xs:element name="GeneratingSystemName" type="xs:string" minOccurs="0"/>
					<xs:element name="DateOfCreation" type="xs:dateTime" minOccurs="0"/>
					<xs:element name="GeneratingSystemVersion" type="xs:string" minOccurs="0"/>
					<xs:element name="CompliantConformanceClass" type="vec:ConformanceClass" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Contract" type="vec:Contract" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="CopyrightInformation" type="vec:CopyrightInformation" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="DocumentVersion" type="vec:DocumentVersion" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="ItemHistoryEntry" type="vec:ItemHistoryEntry" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PartVersion" type="vec:PartVersion" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Project" type="vec:Project" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Unit" type="vec:Unit" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireElement">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="WireElementSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to WireElementSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireElementReference">
		<xs:complexContent>
			<xs:extension base="vec:RoutableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="Connection" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Connection</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedWireElement" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to WireElement</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Signal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to Signal</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireEnd" type="vec:WireEnd" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="WireLength" type="vec:WireLength" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireElementSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="Type" type="vec:WireType" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="MinBendRadiusDynamic" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="MinBendRadiusStatic" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="OutsideDiameter" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="SuitedForDynamicUse" type="xs:boolean" minOccurs="0"/>
					<xs:element name="Impedance" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="Size" type="vec:Size" minOccurs="0"/>
					<xs:element name="ConductorSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to ConductorSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="FillerSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to FillerSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InsulationSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to InsulationSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="SubWireElementSpecification" type="xs:IDREFS" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to WireElementSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireGroupSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to WireGroupSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireEnd">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string" minOccurs="0"/>
					<xs:element name="PositionOnWire" type="xs:double"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireGroupSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="GroupType" type="xs:string"/>
					<xs:element name="LengthOfTwist" type="vec:NumericalValue" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireGrouping">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="RelatedWireRole" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to WireElementReference</xs:documentation>
							<xs:appinfo>There shall be at least 2 elements referenced.</xs:appinfo>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireGroupSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to WireGroupSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireGroupingSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="WireGrouping" type="vec:WireGrouping" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireLength">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="LengthType" type="xs:string"/>
					<xs:element name="LengthValue" type="vec:NumericalValue"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireMounting">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="MountedCavitySeal" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to CavitySealRole</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedWireEnd" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to WireEnd</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireMountingDetail" type="vec:WireMountingDetail" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireMountingDetail">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="ContactedWireReception" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to WireReceptionReference</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReferencedWireEnd" type="xs:IDREFS">
						<xs:annotation>
							<xs:documentation>ref to WireEnd</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireProtectionRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="ProtectionLength" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="TapeOverlap" type="xs:string" minOccurs="0"/>
					<xs:element name="TapingDirection" type="vec:TapingDirection" minOccurs="0"/>
					<xs:element name="Gradient" type="vec:ValueWithUnit" minOccurs="0"/>
					<xs:element name="WireProtectionSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to WireProtectionSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireProtectionSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="AbrasionResistanceClass" type="vec:AbrasionResistanceClass" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="SoundDampingClass" type="vec:SoundDampingClass" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireReception">
		<xs:complexContent>
			<xs:extension base="vec:ExtendableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="PlacementPoint" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to PlacementPoint</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireReceptionSpecification" type="xs:IDREF" minOccurs="0">
						<xs:annotation>
							<xs:documentation>ref to WireReceptionSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireReceptionReference">
		<xs:sequence>
			<xs:element name="Identification" type="xs:string" minOccurs="0"/>
			<xs:element name="WireReception" type="xs:IDREF">
				<xs:annotation>
					<xs:documentation>ref to WireReception</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="WireReceptionSpecification">
		<xs:complexContent>
			<xs:extension base="vec:Specification">
				<xs:sequence>
					<xs:element name="CoreCrossSectionArea" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="InsulationDisplacementLength" type="vec:NumericalValue" minOccurs="0"/>
					<xs:element name="MultiContact" type="xs:boolean" minOccurs="0"/>
					<xs:element name="WireReceptionType" type="xs:string" minOccurs="0"/>
					<xs:element name="WireElementOutsideDiameter" type="vec:ValueRange" minOccurs="0"/>
					<xs:element name="PlatingMaterial" type="vec:Material" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Sealable" type="xs:boolean" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireRole">
		<xs:complexContent>
			<xs:extension base="vec:Role">
				<xs:sequence>
					<xs:element name="WireSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to WireSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireElementReference" type="vec:WireElementReference" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireSpecification">
		<xs:complexContent>
			<xs:extension base="vec:PartOrUsageRelatedSpecification">
				<xs:sequence>
					<xs:element name="WireElementSpecification" type="xs:IDREF">
						<xs:annotation>
							<xs:documentation>ref to WireElementSpecification</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="WireElement" type="vec:WireElement" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WireType">
		<xs:sequence>
			<xs:element name="Type" type="xs:string"/>
			<xs:element name="ReferenceSystem" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="Zone">
		<xs:complexContent>
			<xs:extension base="vec:ConfigurableElement">
				<xs:sequence>
					<xs:element name="Identification" type="xs:string"/>
					<xs:element name="Description" type="vec:AbstractLocalizedString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="AmbientTemperature" type="vec:TemperatureInformation" minOccurs="0"/>
					<xs:element name="RequiredRobustnessProperties" type="vec:RobustnessProperties" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="RequiredSealingClass" type="vec:SealingClass" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="SubZone" type="vec:Zone" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="AnchorType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="FromStartNode"/>
			<xs:enumeration value="FromEndNode"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ContractRole">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="GeometryType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="HistoryEntryType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Derivation"/>
			<xs:enumeration value="Sequence"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="IECPrefix">
		<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:restriction base="xs:string">
			<xs:enumeration value="Bit"/>
			<xs:enumeration value="Byte"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ImperialUnitName">
		<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:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="LanguageCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Aa"/>
			<xs:enumeration value="Ab"/>
			<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:enumeration value="Zu"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="LengthClassification">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="NodeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="OtherUnitName">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Pi"/>
			<xs:enumeration value="Piece"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PartRelationType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Mandatory"/>
			<xs:enumeration value="Optional"/>
			<xs:enumeration value="OneOfAll"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PinApplianceType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PinCurrentType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PinTimingType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PinType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PinVoltageType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PlacementType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="OnWay"/>
			<xs:enumeration value="OnPoint"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PrimaryPartType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Antenna"/>
			<xs:enumeration value="Battery"/>
			<xs:enumeration value="BoltMountedFixing"/>
			<xs:enumeration value="CableDuct"/>
			<xs:enumeration value="CavityPlug"/>
			<xs:enumeration value="CavitySeal"/>
			<xs:enumeration value="ConnectorHousing"/>
			<xs:enumeration value="CorrugatedPipe"/>
			<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="Other"/>
			<xs:enumeration value="PartStructure"/>
			<xs:enumeration value="PluggableTerminal"/>
			<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="WireProtection"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SealState">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SegmentForm">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SiPrefix">
		<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: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: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="SignalTransmissionMediumType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SlotGender">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SpliceType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="StatusOfApproval">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="TapingDirection">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="TypeOfPermission">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="USUnitName">
		<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:restriction>
	</xs:simpleType>
	<xs:simpleType name="UsageConstraintType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Allow"/>
			<xs:enumeration value="Deny"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="UsageNodeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ValueDetermination">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Calculated"/>
			<xs:enumeration value="Measured"/>
			<xs:enumeration value="Estimated"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="VecVersion">
		<xs:restriction base="xs:string">
			<xs:enumeration value="1.1.1"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
