<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
	<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2000/10/XMLSchema-->
	
	
	<!--Generated by XML Authority. Conforms to w3chttp://www.w3.org/2000/10/XMLSchema-->
	
	
	<!-- Define all enumerations -->
	
	<xsd:simpleType name = "mirrorType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "MIRROR"/>
			<xsd:enumeration value = "NOMIRROR"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "modEndType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "BOTH"/>
			<xsd:enumeration value = "START"/>
			<xsd:enumeration value = "FINISH"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "lineEndType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "NONE"/>
			<xsd:enumeration value = "ROUND"/>
			<xsd:enumeration value = "SQUARE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "lineModType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "NONE"/>
			<xsd:enumeration value = "SL1"/>
			<xsd:enumeration value = "SL2"/>
			<xsd:enumeration value = "TD"/>
			<xsd:enumeration value = "TP"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "lineTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CENTER"/>
			<xsd:enumeration value = "DASHED"/>
			<xsd:enumeration value = "DOTTED"/>
			<xsd:enumeration value = "ERASE"/>
			<xsd:enumeration value = "PHANTOM"/>
			<xsd:enumeration value = "SOLID"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "paintTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "FILL"/>
			<xsd:enumeration value = "HATCH"/>
			<xsd:enumeration value = "HOLLOW"/>
			<xsd:enumeration value = "MESH"/>
			<xsd:enumeration value = "VOID"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "barrelTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "COAT"/>
			<xsd:enumeration value = "PLATE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "donutShapeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "HEXAGON"/>
			<xsd:enumeration value = "OCTAGON"/>
			<xsd:enumeration value = "ROUND"/>
			<xsd:enumeration value = "SQUARE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "thermalShapeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "OCTAGON"/>
			<xsd:enumeration value = "ROUND"/>
			<xsd:enumeration value = "SQUARE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "spokeEndShapeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "PARALLEL"/>
			<xsd:enumeration value = "ROUND"/>
			<xsd:enumeration value = "SQUARE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "directionType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CCLKW"/>
			<xsd:enumeration value = "CLKW"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "bargetFunctionType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ALIGNMENT"/>
			<xsd:enumeration value = "MARKER"/>
			<xsd:enumeration value = "REGISTRATION"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "processType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "FABRICATE"/>
			<xsd:enumeration value = "PLACE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "productSelectorType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ASSEMBLY"/>
			<xsd:enumeration value = "BOARD"/>
			<xsd:enumeration value = "FIXTURE"/>
			<xsd:enumeration value = "PANEL"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "transactionTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CO"/>
			<xsd:enumeration value = "PO"/>
			<xsd:enumeration value = "RFA"/>
			<xsd:enumeration value = "RFP"/>
			<xsd:enumeration value = "RFQ"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "fillMaterialType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "EPOXY"/>
			<xsd:enumeration value = "RESIN"/>
			<xsd:enumeration value = "SOLDER"/>
			<xsd:enumeration value = "SOLDERMASK"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "barrelMaterialType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CARBON"/>
			<xsd:enumeration value = "COPPER"/>
			<xsd:enumeration value = "ELECTROLESSCOPPER"/>
			<xsd:enumeration value = "ELECTROLYTICCOPPER"/>
			<xsd:enumeration value = "GOLD"/>
			<xsd:enumeration value = "GRAPHITE"/>
			<xsd:enumeration value = "NICKEL"/>
			<xsd:enumeration value = "NICKELGOLD"/>
			<xsd:enumeration value = "PALADIUM"/>
			<xsd:enumeration value = "TIN"/>
			<xsd:enumeration value = "TINLEAD"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "dShapeEndType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CHAMFER"/>
			<xsd:enumeration value = "FILLET"/>
			<xsd:enumeration value = "ROUND"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "targetFunctionType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ALIGNMENT"/>
			<xsd:enumeration value = "MARKER"/>
			<xsd:enumeration value = "REGISTRATION"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "pinDescFunctionType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ANALOG"/>
			<xsd:enumeration value = "ANALOGIN"/>
			<xsd:enumeration value = "ANALOGOUT"/>
			<xsd:enumeration value = "ANODE"/>
			<xsd:enumeration value = "BASE"/>
			<xsd:enumeration value = "BIDIRECTIONAL"/>
			<xsd:enumeration value = "CASE"/>
			<xsd:enumeration value = "CATHODE"/>
			<xsd:enumeration value = "CLOCK"/>
			<xsd:enumeration value = "COLLECTOR"/>
			<xsd:enumeration value = "DIGITAL"/>
			<xsd:enumeration value = "DISABLE"/>
			<xsd:enumeration value = "DRAIN"/>
			<xsd:enumeration value = "DRIVER"/>
			<xsd:enumeration value = "EMITTER"/>
			<xsd:enumeration value = "ENABLE"/>
			<xsd:enumeration value = "GATE"/>
			<xsd:enumeration value = "GROUND"/>
			<xsd:enumeration value = "INACTIVE"/>
			<xsd:enumeration value = "INTNC"/>
			<xsd:enumeration value = "NCLOSED"/>
			<xsd:enumeration value = "NOPEN"/>
			<xsd:enumeration value = "POWER"/>
			<xsd:enumeration value = "RECEIVER"/>
			<xsd:enumeration value = "TCK"/>
			<xsd:enumeration value = "TDI"/>
			<xsd:enumeration value = "TDO"/>
			<xsd:enumeration value = "TMS"/>
			<xsd:enumeration value = "TRST"/>
			<xsd:enumeration value = "WIPER"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "certificationCategoryType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ASSEMBLYDRAWING"/>
			<xsd:enumeration value = "ASSEMBLYFIXTUREGENERATION"/>
			<xsd:enumeration value = "ASSEMBLYPANEL"/>
			<xsd:enumeration value = "ASSEMBLYPREPTOOLS"/>
			<xsd:enumeration value = "ASSEMBLYTESTFIXTUREGENERATION"/>
			<xsd:enumeration value = "ASSEMBLYTESTGENERATION"/>
			<xsd:enumeration value = "BOARDFABRICATION"/>
			<xsd:enumeration value = "BOARDFIXTUREGENERATION"/>
			<xsd:enumeration value = "BOARDPANEL"/>
			<xsd:enumeration value = "BOARDTESTGENERATION"/>
			<xsd:enumeration value = "COMPONENTPLACEMENT"/>
			<xsd:enumeration value = "DETAILEDDRAWING"/>
			<xsd:enumeration value = "FABRICATIONDRAWING"/>
			<xsd:enumeration value = "GENERALASSEMBLY"/>
			<xsd:enumeration value = "GLUEDOT"/>
			<xsd:enumeration value = "MECHANICALHARDWARE"/>
			<xsd:enumeration value = "MULTIBOARDPARTSLIST"/>
			<xsd:enumeration value = "PHOTOTOOLS"/>
			<xsd:enumeration value = "SCHEMATICDRAWINGS"/>
			<xsd:enumeration value = "SINGLEBOARDPARTSLIST"/>
			<xsd:enumeration value = "SOLDERSTENCILPASTE"/>
			<xsd:enumeration value = "SPECSOURCECONTROLDRAWING"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "certificationStatusType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ALPHA"/>
			<xsd:enumeration value = "BETA"/>
			<xsd:enumeration value = "CERTIFIED"/>
			<xsd:enumeration value = "SELFTEST"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "angleType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "DEGREES"/>
			<xsd:enumeration value = "RADIANS"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "lengthType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "INCHES"/>
			<xsd:enumeration value = "MM"/>
			<xsd:enumeration value = "UM"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "isoCodeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "AD"/>
			<xsd:enumeration value = "AE"/>
			<xsd:enumeration value = "AF"/>
			<xsd:enumeration value = "AG"/>
			<xsd:enumeration value = "AI"/>
			<xsd:enumeration value = "AL"/>
			<xsd:enumeration value = "AM"/>
			<xsd:enumeration value = "AN"/>
			<xsd:enumeration value = "AO"/>
			<xsd:enumeration value = "AQ"/>
			<xsd:enumeration value = "AR"/>
			<xsd:enumeration value = "AS"/>
			<xsd:enumeration value = "AT"/>
			<xsd:enumeration value = "AU"/>
			<xsd:enumeration value = "AW"/>
			<xsd:enumeration value = "AZ"/>
			<xsd:enumeration value = "BA"/>
			<xsd:enumeration value = "BB"/>
			<xsd:enumeration value = "BD"/>
			<xsd:enumeration value = "BE"/>
			<xsd:enumeration value = "BF"/>
			<xsd:enumeration value = "BG"/>
			<xsd:enumeration value = "BH"/>
			<xsd:enumeration value = "BI"/>
			<xsd:enumeration value = "BJ"/>
			<xsd:enumeration value = "BM"/>
			<xsd:enumeration value = "BN"/>
			<xsd:enumeration value = "BO"/>
			<xsd:enumeration value = "BR"/>
			<xsd:enumeration value = "BS"/>
			<xsd:enumeration value = "BT"/>
			<xsd:enumeration value = "BV"/>
			<xsd:enumeration value = "BW"/>
			<xsd:enumeration value = "BY"/>
			<xsd:enumeration value = "BZ"/>
			<xsd:enumeration value = "CA"/>
			<xsd:enumeration value = "CC"/>
			<xsd:enumeration value = "CF"/>
			<xsd:enumeration value = "CG"/>
			<xsd:enumeration value = "CH"/>
			<xsd:enumeration value = "CI"/>
			<xsd:enumeration value = "CK"/>
			<xsd:enumeration value = "CL"/>
			<xsd:enumeration value = "CM"/>
			<xsd:enumeration value = "CN"/>
			<xsd:enumeration value = "CO"/>
			<xsd:enumeration value = "CR"/>
			<xsd:enumeration value = "CU"/>
			<xsd:enumeration value = "CV"/>
			<xsd:enumeration value = "CX"/>
			<xsd:enumeration value = "CY"/>
			<xsd:enumeration value = "CZ"/>
			<xsd:enumeration value = "DE"/>
			<xsd:enumeration value = "DJ"/>
			<xsd:enumeration value = "DK"/>
			<xsd:enumeration value = "DM"/>
			<xsd:enumeration value = "DO"/>
			<xsd:enumeration value = "DZ"/>
			<xsd:enumeration value = "EC"/>
			<xsd:enumeration value = "EE"/>
			<xsd:enumeration value = "EG"/>
			<xsd:enumeration value = "EH"/>
			<xsd:enumeration value = "ER"/>
			<xsd:enumeration value = "ES"/>
			<xsd:enumeration value = "ET"/>
			<xsd:enumeration value = "FI"/>
			<xsd:enumeration value = "FJ"/>
			<xsd:enumeration value = "FK"/>
			<xsd:enumeration value = "FM"/>
			<xsd:enumeration value = "FO"/>
			<xsd:enumeration value = "FR"/>
			<xsd:enumeration value = "FX"/>
			<xsd:enumeration value = "GA"/>
			<xsd:enumeration value = "GB"/>
			<xsd:enumeration value = "GD"/>
			<xsd:enumeration value = "GE"/>
			<xsd:enumeration value = "GF"/>
			<xsd:enumeration value = "GH"/>
			<xsd:enumeration value = "GI"/>
			<xsd:enumeration value = "GL"/>
			<xsd:enumeration value = "GM"/>
			<xsd:enumeration value = "GN"/>
			<xsd:enumeration value = "GP"/>
			<xsd:enumeration value = "GQ"/>
			<xsd:enumeration value = "GR"/>
			<xsd:enumeration value = "GS"/>
			<xsd:enumeration value = "GT"/>
			<xsd:enumeration value = "GU"/>
			<xsd:enumeration value = "GW"/>
			<xsd:enumeration value = "GY"/>
			<xsd:enumeration value = "HK"/>
			<xsd:enumeration value = "HM"/>
			<xsd:enumeration value = "HN"/>
			<xsd:enumeration value = "HR"/>
			<xsd:enumeration value = "HT"/>
			<xsd:enumeration value = "HU"/>
			<xsd:enumeration value = "ID"/>
			<xsd:enumeration value = "IE"/>
			<xsd:enumeration value = "IL"/>
			<xsd:enumeration value = "IN"/>
			<xsd:enumeration value = "IO"/>
			<xsd:enumeration value = "IQ"/>
			<xsd:enumeration value = "IR"/>
			<xsd:enumeration value = "IS"/>
			<xsd:enumeration value = "IT"/>
			<xsd:enumeration value = "JM"/>
			<xsd:enumeration value = "JO"/>
			<xsd:enumeration value = "JP"/>
			<xsd:enumeration value = "KE"/>
			<xsd:enumeration value = "KG"/>
			<xsd:enumeration value = "KH"/>
			<xsd:enumeration value = "KI"/>
			<xsd:enumeration value = "KM"/>
			<xsd:enumeration value = "KN"/>
			<xsd:enumeration value = "KP"/>
			<xsd:enumeration value = "KR"/>
			<xsd:enumeration value = "KW"/>
			<xsd:enumeration value = "KY"/>
			<xsd:enumeration value = "KZ"/>
			<xsd:enumeration value = "LA"/>
			<xsd:enumeration value = "LB"/>
			<xsd:enumeration value = "LC"/>
			<xsd:enumeration value = "LI"/>
			<xsd:enumeration value = "LK"/>
			<xsd:enumeration value = "LR"/>
			<xsd:enumeration value = "LS"/>
			<xsd:enumeration value = "LT"/>
			<xsd:enumeration value = "LU"/>
			<xsd:enumeration value = "LV"/>
			<xsd:enumeration value = "LY"/>
			<xsd:enumeration value = "MA"/>
			<xsd:enumeration value = "MC"/>
			<xsd:enumeration value = "MD"/>
			<xsd:enumeration value = "MG"/>
			<xsd:enumeration value = "MH"/>
			<xsd:enumeration value = "MK"/>
			<xsd:enumeration value = "ML"/>
			<xsd:enumeration value = "MM"/>
			<xsd:enumeration value = "MN"/>
			<xsd:enumeration value = "MO"/>
			<xsd:enumeration value = "MP"/>
			<xsd:enumeration value = "MQ"/>
			<xsd:enumeration value = "MR"/>
			<xsd:enumeration value = "MS"/>
			<xsd:enumeration value = "MT"/>
			<xsd:enumeration value = "MU"/>
			<xsd:enumeration value = "MV"/>
			<xsd:enumeration value = "MW"/>
			<xsd:enumeration value = "MX"/>
			<xsd:enumeration value = "MY"/>
			<xsd:enumeration value = "MZ"/>
			<xsd:enumeration value = "NA"/>
			<xsd:enumeration value = "NC"/>
			<xsd:enumeration value = "NE"/>
			<xsd:enumeration value = "NF"/>
			<xsd:enumeration value = "NG"/>
			<xsd:enumeration value = "NI"/>
			<xsd:enumeration value = "NL"/>
			<xsd:enumeration value = "NO"/>
			<xsd:enumeration value = "NP"/>
			<xsd:enumeration value = "NR"/>
			<xsd:enumeration value = "NU"/>
			<xsd:enumeration value = "NZ"/>
			<xsd:enumeration value = "OM"/>
			<xsd:enumeration value = "PA"/>
			<xsd:enumeration value = "PE"/>
			<xsd:enumeration value = "PF"/>
			<xsd:enumeration value = "PG"/>
			<xsd:enumeration value = "PH"/>
			<xsd:enumeration value = "PK"/>
			<xsd:enumeration value = "PL"/>
			<xsd:enumeration value = "PM"/>
			<xsd:enumeration value = "PN"/>
			<xsd:enumeration value = "PR"/>
			<xsd:enumeration value = "PT"/>
			<xsd:enumeration value = "PW"/>
			<xsd:enumeration value = "PY"/>
			<xsd:enumeration value = "QA"/>
			<xsd:enumeration value = "RE"/>
			<xsd:enumeration value = "RO"/>
			<xsd:enumeration value = "RU"/>
			<xsd:enumeration value = "RW"/>
			<xsd:enumeration value = "SA"/>
			<xsd:enumeration value = "SB"/>
			<xsd:enumeration value = "SC"/>
			<xsd:enumeration value = "SD"/>
			<xsd:enumeration value = "SE"/>
			<xsd:enumeration value = "SG"/>
			<xsd:enumeration value = "SH"/>
			<xsd:enumeration value = "SI"/>
			<xsd:enumeration value = "SJ"/>
			<xsd:enumeration value = "SK"/>
			<xsd:enumeration value = "SL"/>
			<xsd:enumeration value = "SM"/>
			<xsd:enumeration value = "SN"/>
			<xsd:enumeration value = "SO"/>
			<xsd:enumeration value = "SR"/>
			<xsd:enumeration value = "ST"/>
			<xsd:enumeration value = "SV"/>
			<xsd:enumeration value = "SY"/>
			<xsd:enumeration value = "SZ"/>
			<xsd:enumeration value = "TC"/>
			<xsd:enumeration value = "TD"/>
			<xsd:enumeration value = "TF"/>
			<xsd:enumeration value = "TG"/>
			<xsd:enumeration value = "TH"/>
			<xsd:enumeration value = "TJ"/>
			<xsd:enumeration value = "TK"/>
			<xsd:enumeration value = "TM"/>
			<xsd:enumeration value = "TN"/>
			<xsd:enumeration value = "TO"/>
			<xsd:enumeration value = "TP"/>
			<xsd:enumeration value = "TR"/>
			<xsd:enumeration value = "TT"/>
			<xsd:enumeration value = "TV"/>
			<xsd:enumeration value = "TW"/>
			<xsd:enumeration value = "TZ"/>
			<xsd:enumeration value = "UA"/>
			<xsd:enumeration value = "UG"/>
			<xsd:enumeration value = "UM"/>
			<xsd:enumeration value = "US"/>
			<xsd:enumeration value = "UY"/>
			<xsd:enumeration value = "UZ"/>
			<xsd:enumeration value = "VA"/>
			<xsd:enumeration value = "VC"/>
			<xsd:enumeration value = "VE"/>
			<xsd:enumeration value = "VG"/>
			<xsd:enumeration value = "VI"/>
			<xsd:enumeration value = "VN"/>
			<xsd:enumeration value = "VU"/>
			<xsd:enumeration value = "WF"/>
			<xsd:enumeration value = "WS"/>
			<xsd:enumeration value = "YE"/>
			<xsd:enumeration value = "YT"/>
			<xsd:enumeration value = "YU"/>
			<xsd:enumeration value = "ZA"/>
			<xsd:enumeration value = "ZM"/>
			<xsd:enumeration value = "ZR"/>
			<xsd:enumeration value = "ZW"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "enterpriseCodeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "DUNNS"/>
			<xsd:enumeration value = "CAGE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "layerTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "BOARDOUTLINE"/>
			<xsd:enumeration value = "CAPACITIVE"/>
			<xsd:enumeration value = "COATINGCOND"/>
			<xsd:enumeration value = "COATINGNONCOND"/>
			<xsd:enumeration value = "COMPONENT"/>
			<xsd:enumeration value = "CONDUCTOR"/>
			<xsd:enumeration value = "COURTYARD"/>
			<xsd:enumeration value = "DIELADHV"/>
			<xsd:enumeration value = "DIELBASE"/>
			<xsd:enumeration value = "DIELCORE"/>
			<xsd:enumeration value = "DIELPREG"/>
			<xsd:enumeration value = "FIXTURE"/>
			<xsd:enumeration value = "GLUE"/>
			<xsd:enumeration value = "GRAPHIC"/>
			<xsd:enumeration value = "HOLEFILL"/>
			<xsd:enumeration value = "LEGEND"/>
			<xsd:enumeration value = "PASTEMASK"/>
			<xsd:enumeration value = "PIN"/>
			<xsd:enumeration value = "PROBE"/>
			<xsd:enumeration value = "RESISTIVE"/>
			<xsd:enumeration value = "REWORK"/>
			<xsd:enumeration value = "SOLDERBUMP"/>
			<xsd:enumeration value = "SOLDERMASK"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "accessDescType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ACCESS"/>
			<xsd:enumeration value = "ACCESSTOP"/>
			<xsd:enumeration value = "ACCESSBOTTOM"/>
			<xsd:enumeration value = "MANDATORY"/>
			<xsd:enumeration value = "NOACCESS"/>
			<xsd:enumeration value = "NOPROBE"/>
			<xsd:enumeration value = "PREFERRED"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "testProbeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "DUALSTAGE"/>
			<xsd:enumeration value = "ICT"/>
			<xsd:enumeration value = "ROBOTIC"/>
			<xsd:enumeration value = "TRANSFER"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "valueType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "AMP"/>
			<xsd:enumeration value = "FARAD"/>
			<xsd:enumeration value = "HENRY"/>
			<xsd:enumeration value = "HERTZ"/>
			<xsd:enumeration value = "JOULE"/>
			<xsd:enumeration value = "LUMEN"/>
			<xsd:enumeration value = "OHM"/>
			<xsd:enumeration value = "VOLT"/>
			<xsd:enumeration value = "WATT"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "bunchTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CABLED"/>
			<xsd:enumeration value = "BUSSED"/>
			<xsd:enumeration value = "TWISTED"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "keepoutType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "BOARD"/>
			<xsd:enumeration value = "COMPONENT"/>
			<xsd:enumeration value = "ROUTE"/>
			<xsd:enumeration value = "TESTPIN"/>
			<xsd:enumeration value = "TESTPROBE"/>
			<xsd:enumeration value = "VIA"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "layerSurfaceType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ALL"/>
			<xsd:enumeration value = "BOTH"/>
			<xsd:enumeration value = "BOTTOM"/>
			<xsd:enumeration value = "INTERNAL"/>
			<xsd:enumeration value = "NOTAPPLICABLE"/>
			<xsd:enumeration value = "TOP"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "surfaceType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "BOTH"/>
			<xsd:enumeration value = "BOTTOM"/>
			<xsd:enumeration value = "TOP"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "cutModeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "REMAIN"/>
			<xsd:enumeration value = "REMOVE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "drawingType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ASSEMBLY"/>
			<xsd:enumeration value = "ASSEMBLYTEST"/>
			<xsd:enumeration value = "BOARDTEST"/>
			<xsd:enumeration value = "COMBINATION"/>
			<xsd:enumeration value = "DETAIL"/>
			<xsd:enumeration value = "FABRICATION"/>
			<xsd:enumeration value = "MACHINE"/>
			<xsd:enumeration value = "PARTSLIST"/>
			<xsd:enumeration value = "PHOTOTOOL"/>
			<xsd:enumeration value = "SCHEMATIC"/>
			<xsd:enumeration value = "SPECIFICATION"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "consistencyLevelType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "IMAGEMATCHES"/>
			<xsd:enumeration value = "IMAGENOMATCH"/>
			<xsd:enumeration value = "IMAGENONETS"/>
			<xsd:enumeration value = "IMAGEONLY"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "tipTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CASTLE"/>
			<xsd:enumeration value = "CHISEL"/>
			<xsd:enumeration value = "CROWN"/>
			<xsd:enumeration value = "OTHER"/>
			<xsd:enumeration value = "RADIUS"/>
			<xsd:enumeration value = "SPEAR"/>
			<xsd:enumeration value = "TULIP3"/>
			<xsd:enumeration value = "TULIP4"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "actionType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ADD"/>
			<xsd:enumeration value = "DELETE"/>
			<xsd:enumeration value = "RENAME"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "drawingSizeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "A"/>
			<xsd:enumeration value = "A0"/>
			<xsd:enumeration value = "A1"/>
			<xsd:enumeration value = "A2"/>
			<xsd:enumeration value = "A3"/>
			<xsd:enumeration value = "A4"/>
			<xsd:enumeration value = "B"/>
			<xsd:enumeration value = "C"/>
			<xsd:enumeration value = "D"/>
			<xsd:enumeration value = "E"/>
			<xsd:enumeration value = "F"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "probeAttachType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CAPACITIVE"/>
			<xsd:enumeration value = "INDUCTIVE"/>
			<xsd:enumeration value = "MATING"/>
			<xsd:enumeration value = "OTHER"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "netClassType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CLK"/>
			<xsd:enumeration value = "FIXED"/>
			<xsd:enumeration value = "GROUND"/>
			<xsd:enumeration value = "SIGNAL"/>
			<xsd:enumeration value = "POWER"/>
			<xsd:enumeration value = "UNUSED"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "preparationTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "CLINCH"/>
			<xsd:enumeration value = "CLINCHLENGTH"/>
			<xsd:enumeration value = "LEADBEND"/>
			<xsd:enumeration value = "LEADLENGTH"/>
			<xsd:enumeration value = "OTHER"/>
			<xsd:enumeration value = "PREPCODE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "deliverySystemType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "BULK"/>
			<xsd:enumeration value = "CARTRIDGE"/>
			<xsd:enumeration value = "PACK"/>
			<xsd:enumeration value = "REEL"/>
			<xsd:enumeration value = "TRAY"/>
			<xsd:enumeration value = "TUBE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "holeDefType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ELECTRICAL"/>
			<xsd:enumeration value = "MECHANICAL"/>
			<xsd:enumeration value = "TOOLING"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "openInputLogicType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ONE"/>
			<xsd:enumeration value = "ZERO"/>
			<xsd:enumeration value = "X"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "loadType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "DOWN"/>
			<xsd:enumeration value = "NONE"/>
			<xsd:enumeration value = "UP"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "deviceType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ANALOG"/>
			<xsd:enumeration value = "BRIDGE"/>
			<xsd:enumeration value = "CAP"/>
			<xsd:enumeration value = "CONN"/>
			<xsd:enumeration value = "CPCK"/>
			<xsd:enumeration value = "DIAC"/>
			<xsd:enumeration value = "DIODE"/>
			<xsd:enumeration value = "DPCK"/>
			<xsd:enumeration value = "FABCAP"/>
			<xsd:enumeration value = "FABRES"/>
			<xsd:enumeration value = "FUSE"/>
			<xsd:enumeration value = "HYBRID"/>
			<xsd:enumeration value = "IND"/>
			<xsd:enumeration value = "JUMPER"/>
			<xsd:enumeration value = "LED"/>
			<xsd:enumeration value = "LEDPCK"/>
			<xsd:enumeration value = "LOGIC"/>
			<xsd:enumeration value = "NFET"/>
			<xsd:enumeration value = "NJFET"/>
			<xsd:enumeration value = "NPN"/>
			<xsd:enumeration value = "OPAMP"/>
			<xsd:enumeration value = "OPTO"/>
			<xsd:enumeration value = "OTHER"/>
			<xsd:enumeration value = "PCAP"/>
			<xsd:enumeration value = "PFET"/>
			<xsd:enumeration value = "PJFET"/>
			<xsd:enumeration value = "PNP"/>
			<xsd:enumeration value = "RELAY"/>
			<xsd:enumeration value = "RES"/>
			<xsd:enumeration value = "RPCK"/>
			<xsd:enumeration value = "SCR"/>
			<xsd:enumeration value = "SOCKET"/>
			<xsd:enumeration value = "SWITCH"/>
			<xsd:enumeration value = "TCAP"/>
			<xsd:enumeration value = "TRIAC"/>
			<xsd:enumeration value = "VCAP"/>
			<xsd:enumeration value = "VIND"/>
			<xsd:enumeration value = "VR"/>
			<xsd:enumeration value = "VRES"/>
			<xsd:enumeration value = "XFMR"/>
			<xsd:enumeration value = "XTAL"/>
			<xsd:enumeration value = "ZENER"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "pinTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "BALL"/>
			<xsd:enumeration value = "BUTTLEAD"/>
			<xsd:enumeration value = "CASTELLATION"/>
			<xsd:enumeration value = "COLUMN"/>
			<xsd:enumeration value = "GULLWING"/>
			<xsd:enumeration value = "JLEAD"/>
			<xsd:enumeration value = "LAND"/>
			<xsd:enumeration value = "SLEAD"/>
			<xsd:enumeration value = "TERMINATION"/>
			<xsd:enumeration value = "TH_RIBBON"/>
			<xsd:enumeration value = "TH_ROUND"/>
			<xsd:enumeration value = "TH_V"/>
			<xsd:enumeration value = "WRAPAROUND"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "functionCategoryType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ASSEMBLY"/>
			<xsd:enumeration value = "ASSEMBLYTEST"/>
			<xsd:enumeration value = "BOARDFAB"/>
			<xsd:enumeration value = "BOARDTEST"/>
			<xsd:enumeration value = "DISPLAY"/>
			<xsd:enumeration value = "FXITURE"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "packageTypeType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "AXIAL_LEADED"/>
			<xsd:enumeration value = "BARE_DIE"/>
			<xsd:enumeration value = "CERAMIC_BGA"/>
			<xsd:enumeration value = "CERAMIC_DIP"/>
			<xsd:enumeration value = "CERAMIC_FLATPACK"/>
			<xsd:enumeration value = "CERAMIC_QUAD_FLATPACK"/>
			<xsd:enumeration value = "CERAMIC_SIP"/>
			<xsd:enumeration value = "CHIP"/>
			<xsd:enumeration value = "CHIP_SCALE"/>
			<xsd:enumeration value = "CHOKE_SWITCH_SM"/>
			<xsd:enumeration value = "COIL"/>
			<xsd:enumeration value = "CONNECTOR_SM"/>
			<xsd:enumeration value = "CONNECTOR_TH"/>
			<xsd:enumeration value = "EMBEDDED"/>
			<xsd:enumeration value = "FLIPCHIP"/>
			<xsd:enumeration value = "HERMETIC_HYBRED"/>
			<xsd:enumeration value = "LEADLESS_CERAMIC_CHIP_CARRIER"/>
			<xsd:enumeration value = "MCM"/>
			<xsd:enumeration value = "MELF"/>
			<xsd:enumeration value = "MINI_BGA"/>
			<xsd:enumeration value = "MOLDED"/>
			<xsd:enumeration value = "NETWORK"/>
			<xsd:enumeration value = "PGA"/>
			<xsd:enumeration value = "PLASTIC_BGA"/>
			<xsd:enumeration value = "PLASTIC_CHIP_CARRIER"/>
			<xsd:enumeration value = "PLASTIC_DIP"/>
			<xsd:enumeration value = "PLASTIC_SIP"/>
			<xsd:enumeration value = "POWER_TRANSISTOR"/>
			<xsd:enumeration value = "RADIAL_LEADED"/>
			<xsd:enumeration value = "RECTANGULAR_QUAD_FLATPACK"/>
			<xsd:enumeration value = "RELAY_SM"/>
			<xsd:enumeration value = "RELAY_TH"/>
			<xsd:enumeration value = "SOD123"/>
			<xsd:enumeration value = "SOIC"/>
			<xsd:enumeration value = "SOJ"/>
			<xsd:enumeration value = "SOPIC"/>
			<xsd:enumeration value = "SOT143"/>
			<xsd:enumeration value = "SOT23"/>
			<xsd:enumeration value = "SOT52"/>
			<xsd:enumeration value = "SOT89"/>
			<xsd:enumeration value = "SQUARE_QUAD_FLATPACK"/>
			<xsd:enumeration value = "SSOIC"/>
			<xsd:enumeration value = "SWITCH_TH"/>
			<xsd:enumeration value = "TANTALUM"/>
			<xsd:enumeration value = "TO_TYPE"/>
			<xsd:enumeration value = "TRANSFORMER"/>
			<xsd:enumeration value = "TRIMPOT_SM"/>
			<xsd:enumeration value = "TRIMPOT_TH"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "qualifiedName">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "[a-zA-Z][a-zA-Z0-9_-]*:.+"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "shortName">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "[/a-zA-Z][a-zA-Z0-9/_-]*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "assemblyDesignRuleType">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "http://webstds.ipc.org/.*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "langCode">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "[a-zA-Z](-[a-zA-Z-])*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "mimeType">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "[a-zA-Z0-9]+/[a-ZA-Z0-9]+"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "prefixType">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "[a-zA-Z][a-zA-Z0-9_-]*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "versionType">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "B-2.[0-9]+"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "enumeratedValueType">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "[a-zA-Z][a-zA-Z0-9_-]*:.+"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "productInstanceType">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "[a-zA-Z][a-zA-Z0-9_-]*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "productInstanceRefType">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "[/a-zA-Z][a-zA-Z0-9/_-]*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "pinName">
		<xsd:restriction base = "xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name = "xpath">
		<xsd:restriction base = "xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name = "materialCodeType">
		<xsd:restriction base = "xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name = "materialType">
		<xsd:restriction base = "xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name = "circuitNumberType">
		<xsd:restriction base = "xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name = "PositionType">
		<xsd:list itemType = "xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name = "nonNegativeDouble">
		<xsd:restriction base = "xsd:double">
			<xsd:minInclusive value = "0.0"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "scaleType">
		<xsd:restriction base = "xsd:double">
			<xsd:minExclusive value = "0.0"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "point">
		<xsd:list>
			<xsd:simpleType>
				<xsd:restriction base = "xsd:double">
					<xsd:length value = "2"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:list>
	</xsd:simpleType>
	<xsd:simpleType name = "imageSourceType">
		<xsd:restriction base = "xpath"/>
	</xsd:simpleType>
	<xsd:simpleType name = "circuitRefType">
		<xsd:restriction base = "circuitNumberType"/>
	</xsd:simpleType>
	<xsd:simpleType name = "symPinRefType">
		<xsd:restriction base = "pinName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "patternPinRefType">
		<xsd:restriction base = "pinName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "roleRefType">
		<xsd:restriction base = "shortName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "personRefType">
		<xsd:restriction base = "shortName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "fixtureRefType">
		<xsd:restriction base = "shortName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "panelRefType">
		<xsd:restriction base = "shortName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "enterpriseRefType">
		<xsd:restriction base = "shortName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "assemblyRefType">
		<xsd:restriction base = "shortName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "boardRefType">
		<xsd:restriction base = "shortName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "boardOrPanelRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "artworkRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "barrelDescRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "circleRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "colorRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "componentPlacementRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "componentRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "componentPinRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "connectorRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "connPinRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "drawGroupIdType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "drawGroupRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "drawingRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "defaultProfileToleranceRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "defaultTPToleranceRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "deviceRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "diamondRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "donutRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "dShapeRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "familyRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "fixtureElectronicRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "featureRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "fontRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "hexagonRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "holeRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "imageRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "layersRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "layerSingleRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "lineDescRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "locationTolRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "logoRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "mechanicalRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "mountingLocationRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "octagonRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "ovalRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "packageRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "padPrimitiveRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "padRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "padStackRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "paintDescRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "patternRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "polygonRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "polylineRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "powerRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "productRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "primitiveRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "profileTolRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "rectCenterRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "rectChamRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "rectCornerRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "rectRoundRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "refDesRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "refDesType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "routeRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "schSymbolRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "supplyRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "targetRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "testConnectRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "testPadRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "testPinRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "testProbeRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "truePositionTolRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "tolRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "viaRefType">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "historyNumberType">
		<xsd:restriction base = "xsd:string">
			<xsd:pattern value = "[0-9]+(.[0-9]+)*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "mountingLocationRef">
		<xsd:restriction base = "qualifiedName"/>
	</xsd:simpleType>
	<xsd:simpleType name = "comparitorType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "EQ"/>
			<xsd:enumeration value = "NE"/>
			<xsd:enumeration value = "GT"/>
			<xsd:enumeration value = "LT"/>
			<xsd:enumeration value = "GE"/>
			<xsd:enumeration value = "LE"/>
			<xsd:enumeration value = "GTLT"/>
			<xsd:enumeration value = "GELE"/>
			<xsd:enumeration value = "GTLE"/>
			<xsd:enumeration value = "GELT"/>
			<xsd:enumeration value = "LTGT"/>
			<xsd:enumeration value = "LEGE"/>
			<xsd:enumeration value = "LTGE"/>
			<xsd:enumeration value = "LEGT"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "applicationType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "BDFAB"/>
			<xsd:enumeration value = "BDTST"/>
			<xsd:enumeration value = "BDASM"/>
			<xsd:enumeration value = "ASEMT"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name = "fixtureFunctionType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "ICT"/>
			<xsd:enumeration value = "BAREBOARDTEST"/>
			<xsd:enumeration value = "SOLDERSTENCIL"/>
			<xsd:enumeration value = "GLUEDOT"/>
			<xsd:enumeration value = "ASSEMBLY"/>
			<xsd:enumeration value = "OTHERA"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<!-- Define restricted string  simpleTypes  -->
	
	
	<!-- Define special string simpleTypes  -->
	
	
	<!-- Define restricted numerical simpleTypes  -->
	
	
	<!-- Define simpleTypes not derived from based types -->
	
	
	<!-- Define simpleTypes that are used as object names that will be referenced -->
	
	
	<!-- Define all RefTypes  -->
	
	
	<!-- Declare all element names and their types  -->
	
	<xsd:element name = "Alias" type = "Alias"/>
	<xsd:element name = "Alternate" type = "Alternate"/>
	<xsd:element name = "Artwork" type = "Artwork"/>
	<xsd:element name = "Artworks" type = "Artworks"/>
	<xsd:element name = "Assemblies" type = "Assemblies"/>
	<xsd:element name = "Assembly" type = "Assembly"/>
	<xsd:element name = "BalancedImpedance" type = "BalancedImpedance"/>
	<xsd:element name = "BareBoardTest" type = "BareBoardTest"/>
	<xsd:element name = "Barrel" type = "Barrel"/>
	<xsd:element name = "BarrelDesc" type = "BarrelDesc"/>
	<xsd:element name = "BarrelDescs" type = "BarrelDescs"/>
	<xsd:element name = "Bilateral" type = "Bilateral"/>
	<xsd:element name = "Board" type = "Board"/>
	<xsd:element name = "Boards" type = "Boards"/>
	<xsd:element name = "Body" type = "Body"/>
	<xsd:element name = "Capacitance" type = "Capacitance"/>
	<xsd:element name = "Certification" type = "Certification"/>
	<xsd:element name = "CircArcTo" type = "CircArcTo"/>
	<xsd:element name = "CircArc" type = "CircArc" substitutionGroup = "ShapeBuilder"/>
	<xsd:element name = "Circle" type = "Circle" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "CircleDef" type = "CircleDef"/>
	<xsd:element name = "CircleRef" type = "CircleRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "ClosedShape" type = "ClosedShape" abstract = "true" substitutionGroup = "ShapeBuilder"/>
	<xsd:element name = "Color" type = "Color"/>
	<xsd:element name = "Colors" type = "Colors"/>
	<xsd:element name = "ComponentPin" type = "ComponentPin"/>
	<xsd:element name = "ComponentPinRef" type = "ComponentPinRef"/>
	<xsd:element name = "ComponentPlacement" type = "ComponentPlacement"/>
	<xsd:element name = "ComponentPlacementRef" type = "ComponentPlacementRef"/>
	<xsd:element name = "ComponentPlacementRefs" type = "ComponentPlacementRefs"/>
	<xsd:element name = "ComponentPlacements" type = "ComponentPlacements"/>
	<xsd:element name = "Cutout" type = "Cutout"/>
	<xsd:element name = "DesignRuleSet" type = "DesignRuleSet"/>
	<xsd:element name = "DesignRules" type = "DesignRules"/>
	<xsd:element name = "Device" type = "Device"/>
	<xsd:element name = "DeviceRef" type = "DeviceRef"/>
	<xsd:element name = "Devices" type = "Devices"/>
	<xsd:element name = "Diameter" type = "Diameter"/>
	<xsd:element name = "Diamond" type = "Diamond" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "DiamondDef" type = "DiamondDef"/>
	<xsd:element name = "DiamondRef" type = "DiamondRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "Donut" type = "Donut" substitutionGroup = "ShapeBuilder"/>
	<xsd:element name = "DonutDef" type = "DonutDef"/>
	<xsd:element name = "DonutRef" type = "DonutRef" substitutionGroup = "ShapeBuilder"/>
	<xsd:element name = "DrawGroup" type = "DrawGroup"/>
	<xsd:element name = "DrawGroupRef" type = "DrawGroupRef"/>
	<xsd:element name = "Drawing" type = "Drawing"/>
	<xsd:element name = "DrawingRef" type = "DrawingRef"/>
	<xsd:element name = "DrawingRefs" type = "DrawingRefs"/>
	<xsd:element name = "Drawings" type = "Drawings"/>
	<xsd:element name = "DShape" type = "DShape" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "DShapeDef" type = "DShapeDef"/>
	<xsd:element name = "DShapeRef" type = "DShapeRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "EllipArc" type = "EllipArc" substitutionGroup = "ShapeBuilder"/>
	<xsd:element name = "EllipArcTo" type = "EllipArcTo"/>
	<xsd:element name = "EndCircArc" type = "EndCircArc"/>
	<xsd:element name = "EndEllipArc" type = "EndEllipArc"/>
	<xsd:element name = "EndLine" type = "EndLine"/>
	<xsd:element name = "Enterprise" type = "Enterprise"/>
	<xsd:element name = "Enterprises" type = "Enterprises"/>
	<xsd:element name = "EnumeratedValue" type = "EnumeratedValue"/>
	<xsd:element name = "ExternalDrawing" type = "ExternalDrawing"/>
	<xsd:element name = "Families" type = "Families"/>
	<xsd:element name = "Family" type = "Family"/>
	<xsd:element name = "Feature" type = "Feature"/>
	<xsd:element name = "FeatureRef" type = "FeatureRef"/>
	<xsd:element name = "Features" type = "Features"/>
	<xsd:element name = "FileRevision" type = "FileRevision"/>
	<xsd:element name = "Fixture" type = "Fixture"/>
	<xsd:element name = "FixtureElectronic" type = "FixtureElectronic"/>
	<xsd:element name = "FixtureElectronicRef" type = "FixtureElectronicRef"/>
	<xsd:element name = "FixtureElectronics" type = "FixtureElectronics"/>
	<xsd:element name = "Fixtures" type = "Fixtures"/>
	<xsd:element name = "Font" type = "Font"/>
	<xsd:element name = "Fonts" type = "Fonts"/>
	<xsd:element name = "Frame" type = "Frame"/>
	<xsd:element name = "GenCAM" type = "GenCAM"/>
	<xsd:element name = "GeneratedBy" type = "GeneratedBy"/>
	<xsd:element name = "Glyph" type = "Glyph"/>
	<xsd:element name = "Groove" type = "Groove"/>
	<xsd:element name = "Header" type = "Header"/>
	<xsd:element name = "Hexagon" type = "Hexagon" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "HexagonDef" type = "HexagonDef"/>
	<xsd:element name = "HexagonRef" type = "HexagonRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "HighPotTest" type = "HighPotTest"/>
	<xsd:element name = "History" type = "History"/>
	<xsd:element name = "Hole" type = "Hole"/>
	<xsd:element name = "HoleRef" type = "HoleRef"/>
	<xsd:element name = "Holes" type = "Holes"/>
	<xsd:element name = "Image" type = "Image"/>
	<xsd:element name = "Images" type = "Images"/>
	<xsd:element name = "Inductance" type = "Inductance"/>
	<xsd:element name = "InsertLayer" type = "InsertLayer"/>
	<xsd:element name = "Keepout" type = "Keepout"/>
	<xsd:element name = "Language" type = "Language"/>
	<xsd:element name = "Layer" type = "Layer"/>
	<xsd:element name = "LayerSet" type = "LayerSet"/>
	<xsd:element name = "LayerSingle" type = "LayerSingle"/>
	<xsd:element name = "LayerSwap" type = "LayerSwap"/>
	<xsd:element name = "Layers" type = "Layers"/>
	<xsd:element name = "Line" type = "Line" substitutionGroup = "ShapeBuilder"/>
	<xsd:element name = "LineDesc" type = "LineDesc"/>
	<xsd:element name = "LineDescs" type = "LineDescs"/>
	<xsd:element name = "LineTo" type = "LineTo"/>
	<xsd:element name = "Location" type = "Location"/>
	<xsd:element name = "Logo" type = "Logo"/>
	<xsd:element name = "LogoRef" type = "LogoRef"/>
	<xsd:element name = "Logos" type = "Logos"/>
	<xsd:element name = "MaximumMaterialConditionDiameter" type = "MaximumMaterialConditionDiameter"/>
	<xsd:element name = "Mechanical" type = "Mechanical"/>
	<xsd:element name = "MechanicalRef" type = "MechanicalRef"/>
	<xsd:element name = "Mechanicals" type = "Mechanicals"/>
	<xsd:element name = "MountingLocation" type = "MountingLocation"/>
	<xsd:element name = "MountingLocationRef" type = "MountingLocationRef"/>
	<xsd:element name = "MountingLocationRefs" type = "MountingLocationRefs"/>
	<xsd:element name = "MountingLocations" type = "MountingLocations"/>
	<xsd:element name = "Namespace" type = "Namespace"/>
	<xsd:element name = "Namespaces" type = "Namespaces"/>
	<xsd:element name = "Net" type = "Net"/>
	<xsd:element name = "NumericValue" type = "NumericValue"/>
	<xsd:element name = "Octagon" type = "Octagon" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "OctagonDef" type = "OctagonDef"/>
	<xsd:element name = "OctagonRef" type = "OctagonRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "Offset" type = "Offset"/>
	<xsd:element name = "OnFail" type = "OnFail"/>
	<xsd:element name = "Outline" type = "Outline"/>
	<xsd:element name = "Oval" type = "Oval" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "OvalDef" type = "OvalDef"/>
	<xsd:element name = "OvalRef" type = "OvalRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "Package" type = "Package"/>
	<xsd:element name = "Packages" type = "Packages"/>
	<xsd:element name = "Pad" type = "Pad"/>
	<xsd:element name = "PadLocation" type = "PadLocation"/>
	<xsd:element name = "PadRef" type = "PadRef"/>
	<xsd:element name = "Pads" type = "Pads"/>
	<xsd:element name = "PadStack" type = "PadStack"/>
	<xsd:element name = "PadStacks" type = "PadStacks"/>
	<xsd:element name = "PaintDesc" type = "PaintDesc"/>
	<xsd:element name = "PaintDescs" type = "PaintDescs"/>
	<xsd:element name = "Panel" type = "Panel"/>
	<xsd:element name = "Panels" type = "Panels"/>
	<xsd:element name = "Part" type = "Part"/>
	<xsd:element name = "Path" type = "Path"/>
	<xsd:element name = "Pattern" type = "Pattern"/>
	<xsd:element name = "PatternPadRef" type = "PatternPadRef"/>
	<xsd:element name = "PatternRef" type = "PatternRef"/>
	<xsd:element name = "Patterns" type = "Patterns"/>
	<xsd:element name = "Person" type = "Person"/>
	<xsd:element name = "Persons" type = "Persons"/>
	<xsd:element name = "Pin" type = "Pin"/>
	<xsd:element name = "PinDesc" type = "PinDesc"/>
	<xsd:element name = "PinDescs" type = "PinDescs"/>
	<xsd:element name = "PinOne" type = "PinOne"/>
	<xsd:element name = "Place" type = "Place"/>
	<xsd:element name = "Placement" type = "Placement"/>
	<xsd:element name = "Plane" type = "Plane"/>
	<xsd:element name = "Polygon" type = "Polygon" substitutionGroup = "PolygonBuilder"/>
	<xsd:element name = "PolygonBuilder" type = "PolygonBuilder" abstract = "true" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "PolygonDef" type = "PolygonDef"/>
	<xsd:element name = "PolygonRef" type = "PolygonRef" substitutionGroup = "PolygonBuilder"/>
	<xsd:element name = "Polyline" type = "Polyline" substitutionGroup = "PolylineBuilder"/>
	<xsd:element name = "PolylineBuilder" type = "PolylineBuilder" abstract = "true" substitutionGroup = "ShapeBuilder"/>
	<xsd:element name = "PolylineDef" type = "PolylineDef"/>
	<xsd:element name = "PolylineRef" type = "PolylineRef" substitutionGroup = "PolylineBuilder"/>
	<xsd:element name = "Position" type = "Position"/>
	<xsd:element name = "PowerSupply" type = "PowerSupply"/>
	<xsd:element name = "PowerSupplyRef" type = "PowerSupplyRef"/>
	<xsd:element name = "PowerSupplyRefs" type = "PowerSupplyRefs"/>
	<xsd:element name = "PreferredVendor" type = "PreferredVendor"/>
	<xsd:element name = "PreferredVendors" type = "PreferredVendors"/>
	<xsd:element name = "Preparation" type = "Preparation"/>
	<xsd:element name = "Presentation" type = "Presentation"/>
	<xsd:element name = "PrimitiveShapes" type = "PrimitiveShapes"/>
	<xsd:element name = "Product" type = "Product"/>
	<xsd:element name = "Products" type = "Products"/>
	<xsd:element name = "ProfileTolerance" type = "ProfileTolerance"/>
	<xsd:element name = "ProfileTolerances" type = "ProfileTolerances"/>
	<xsd:element name = "Program" type = "Program"/>
	<xsd:element name = "RectCenter" type = "RectCenter" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "RectCenterDef" type = "RectCenterDef"/>
	<xsd:element name = "RectCenterRef" type = "RectCenterRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "RectCham" type = "RectCham" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "RectChamDef" type = "RectChamDef"/>
	<xsd:element name = "RectChamRef" type = "RectChamRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "RectCorner" type = "RectCorner" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "RectCornerDef" type = "RectCornerDef"/>
	<xsd:element name = "RectCornerRef" type = "RectCornerRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "RectRound" type = "RectRound" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "RectRoundDef" type = "RectRoundDef"/>
	<xsd:element name = "RectRoundRef" type = "RectRoundRef" substitutionGroup = "ClosedShape"/>
	<xsd:element name = "RegisteredResource" type = "RegisteredResource"/>
	<xsd:element name = "RegisteredResources" type = "RegisteredResources"/>
	<xsd:element name = "ResultSet" type = "ResultSet"/>
	<xsd:element name = "Role" type = "Role"/>
	<xsd:element name = "RoleRef" type = "RoleRef"/>
	<xsd:element name = "Roles" type = "Roles"/>
	<xsd:element name = "Route" type = "Route"/>
	<xsd:element name = "RouteRef" type = "RouteRef"/>
	<xsd:element name = "RouteRefs" type = "RouteRefs"/>
	<xsd:element name = "Routes" type = "Routes"/>
	<xsd:element name = "SchSymbol" type = "SchSymbol"/>
	<xsd:element name = "SchSymbolRef" type = "SchSymbolRef"/>
	<xsd:element name = "SchSymbols" type = "SchSymbols"/>
	<xsd:element name = "Schedule" type = "Schedule"/>
	<xsd:element name = "ShapeBuilder" type = "ShapeBuilder" abstract = "true"/>
	<xsd:element name = "Sheet" type = "Sheet"/>
	<xsd:element name = "Slot" type = "Slot"/>
	<xsd:element name = "SoftwarePackage" type = "SoftwarePackage"/>
	<xsd:element name = "SymPin" type = "SymPin"/>
	<xsd:element name = "SymPinRef" type = "SymPinRef"/>
	<xsd:element name = "Target" type = "Target"/>
	<xsd:element name = "Targets" type = "Targets"/>
	<xsd:element name = "TestConnect" type = "TestConnect"/>
	<xsd:element name = "TestConnectRef" type = "TestConnectRef"/>
	<xsd:element name = "TestConnectRefs" type = "TestConnectRefs"/>
	<xsd:element name = "TestConnects" type = "TestConnects"/>
	<xsd:element name = "TestPad" type = "TestPad"/>
	<xsd:element name = "TestPadRef" type = "TestPadRef"/>
	<xsd:element name = "TestPin" type = "TestPin"/>
	<xsd:element name = "TestPinRef" type = "TestPinRef"/>
	<xsd:element name = "TestPins" type = "TestPins"/>
	<xsd:element name = "TestProbe" type = "TestProbe"/>
	<xsd:element name = "TestProbeRef" type = "TestProbeRef"/>
	<xsd:element name = "TestProbes" type = "TestProbes"/>
	<xsd:element name = "Text" type = "Text"/>
	<xsd:element name = "Thermal" type = "Thermal"/>
	<xsd:element name = "Thickness" type = "Thickness"/>
	<xsd:element name = "Transaction" type = "Transaction"/>
	<xsd:element name = "TruePositionTolerance" type = "TruePositionTolerance"/>
	<xsd:element name = "TruePositionTolerances" type = "TruePositionTolerances"/>
	<xsd:element name = "UFont" type = "UFont"/>
	<xsd:element name = "UnbalancedImpedance" type = "UnbalancedImpedance"/>
	<xsd:element name = "Units" type = "Units"/>
	<xsd:element name = "Via" type = "Via"/>
	<xsd:element name = "ViaRef" type = "ViaRef"/>
	<xsd:element name = "Well" type = "Well"/>
	<xsd:element name = "Xform" type = "Xform"/>
	
	<!-- Define all ComplexTypes  -->
	
	<xsd:complexType name = "Alias">
		<xsd:complexContent>
			<xsd:extension base = "Part"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Alternate">
		<xsd:complexContent>
			<xsd:extension base = "Part"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Artwork">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:choice maxOccurs = "unbounded">
					<xsd:element ref = "ShapeBuilder"/>
					<xsd:element name = "Text" type = "Text"/>
					<xsd:element ref = "LogoRef"/>
					<xsd:element name = "ArtworkRef" type = "ArtworkRef"/>
				</xsd:choice>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "ArtworkRef">
		<xsd:sequence>
			<xsd:element ref = "Xform"/>
		</xsd:sequence>
		<xsd:attribute name = "artworkRef" use = "required" type = "artworkRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "ArtworkRefWithLayer">
		<xsd:sequence>
			<xsd:element ref = "Xform"/>
		</xsd:sequence>
		<xsd:attribute name = "artworkRef" use = "required" type = "artworkRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
		<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Artworks">
		<xsd:sequence>
			<xsd:element ref = "Artwork" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Assemblies">
		<xsd:sequence>
			<xsd:element ref = "Assembly" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Assembly">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:sequence>
					<xsd:element ref = "ComponentPlacementRefs" minOccurs = "0"/>
					<xsd:element ref = "PowerSupplyRefs" minOccurs = "0"/>
					<xsd:element ref = "TestConnectRefs" minOccurs = "0"/>
					<xsd:element ref = "DrawingRefs" minOccurs = "0"/>
					<xsd:element ref = "DesignRules" minOccurs = "0"/>
				</xsd:sequence>
				<xsd:attribute name = "assemblyRef" use = "required" type = "assemblyRefType"/>
				<xsd:attribute name = "boardOrPanelRef" use = "required" type = "boardOrPanelRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "BalancedImpedance">
		<xsd:attribute name = "ohmValue" use = "required" type = "nonNegativeDouble"/>
		<xsd:attribute name = "negTol" type = "nonNegativeDouble"/>
		<xsd:attribute name = "posTol" type = "nonNegativeDouble"/>
		<xsd:attribute name = "routeRef" use = "required" type = "routeRefType"/>
		<xsd:attribute name = "routePlaneRef" use = "required" type = "routeRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "BaseType"/>
	<xsd:complexType name = "BareBoardTest">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "continuityVoltage" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "continuityCurrent" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "isolationVoltage" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Barrel">
		<xsd:attribute name = "barrelType" use = "required" type = "barrelTypeType"/>
		<xsd:attribute name = "material" use = "optional" type = "barrelMaterialType"/>
		<xsd:attribute name = "minThickness" use = "required" type = "nonNegativeDouble"/>
		<xsd:attribute name = "maxThickness" use = "required" type = "nonNegativeDouble"/>
	</xsd:complexType>
	<xsd:complexType name = "BarrelDesc">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Barrel" minOccurs = "0" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "fillMaterial" type = "fillMaterialType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "BarrelDescs">
		<xsd:sequence>
			<xsd:element ref = "BarrelDesc" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Bilateral">
		<xsd:attribute name = "p1" use = "required" type = "point"/>
		<xsd:attribute name = "p2" use = "required" type = "point"/>
	</xsd:complexType>
	<xsd:complexType name = "Body">
		<xsd:attribute name = "artworkRef" use = "required" type = "artworkRefType"/>
		<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Board">
		<xsd:sequence>
			<xsd:element ref = "Outline" maxOccurs = "unbounded"/>
			<xsd:element ref = "Cutout" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Well" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Slot" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element name = "Keepout" type = "KeepoutNamed" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element name = "HoleRef" type = "HoleNamedRef" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Groove" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:element name = "LogoRef" type = "LogoRefNamedWithLayers"/>
				<xsd:element name = "TargetRef" type = "TargetRefNamedWithLayers"/>
				<xsd:element name = "Text" type = "TextNamedWithLayers"/>
				<xsd:element ref = "Image"/>
				<xsd:element ref = "MountingLocationRef"/>
				<xsd:element ref = "RouteRef"/>
			</xsd:choice>
			<xsd:element ref = "BareBoardTest" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "DrawingRefs" minOccurs = "0"/>
			<xsd:element ref = "DesignRules" minOccurs = "0"/>
		</xsd:sequence>
		<xsd:attribute name = "boardRef" use = "required" type = "boardRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Boards">
		<xsd:sequence>
			<xsd:element ref = "Board" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Capacitance">
		<xsd:attribute name = "faradValue" use = "required" type = "nonNegativeDouble"/>
		<xsd:attribute name = "negTol" type = "nonNegativeDouble"/>
		<xsd:attribute name = "posTol" type = "nonNegativeDouble"/>
		<xsd:attribute name = "routeRef" use = "required" type = "routeRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Certification">
		<xsd:attribute name = "certificationStatus" use = "required" type = "certificationStatusType"/>
		<xsd:attribute name = "certificationCategory" type = "certificationCategoryType"/>
	</xsd:complexType>
	<xsd:complexType name = "CircArc">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "center" use = "required" type = "point"/>
				<xsd:attribute name = "startXY" use = "required" type = "point"/>
				<xsd:attribute name = "endXY" use = "required" type = "point"/>
				<xsd:attribute name = "direction" use = "optional" type = "directionType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "CircArcTo">
		<xsd:attribute name = "center" use = "required" type = "point"/>
		<xsd:attribute name = "endXY" use = "required" type = "point"/>
		<xsd:attribute name = "direction" use = "optional" type = "directionType"/>
	</xsd:complexType>
	<xsd:complexType name = "Circle">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "diameter" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "CircleDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "diameter" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "CircleRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "circleRef" use = "required" type = "circleRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "ClosedShape" abstract = "true"/>
	<xsd:complexType name = "Color">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "r" use = "required" type = "xsd:unsignedByte"/>
				<xsd:attribute name = "g" use = "required" type = "xsd:unsignedByte"/>
				<xsd:attribute name = "b" use = "required" type = "xsd:unsignedByte"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Colors">
		<xsd:sequence>
			<xsd:element ref = "Color" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "ComponentPlacement">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:sequence>
					<xsd:element ref = "Offset"/>
					<xsd:element ref = "DeviceRef" minOccurs = "0"/>
					<xsd:element ref = "MechanicalRef" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element ref = "Program" minOccurs = "0"/>
					<xsd:element ref = "PinDescs" minOccurs = "0"/>
					<xsd:element ref = "Preparation" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element ref = "Presentation" minOccurs = "0"/>
					<xsd:element ref = "Keepout" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element ref = "OnFail" minOccurs = "0"/>
				</xsd:sequence>
				<xsd:attribute name = "refDesRef" use = "required" type = "refDesRefType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "ComponentPlacementRef">
		<xsd:attribute name = "refDesRef" use = "required" type = "refDesRefType"/>
		<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "ComponentPlacementRefs">
		<xsd:sequence>
			<xsd:element ref = "ComponentPlacementRef" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "ComponentPlacements">
		<xsd:sequence>
			<xsd:element ref = "ComponentPlacement" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "ComponentPin">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "mountingLocationRef" use = "required" type = "mountingLocationRef"/>
				<xsd:attribute name = "patternPinRef" use = "required" type = "patternPinRefType"/>
				<xsd:attribute name = "testPoint" type = "point"/>
				<xsd:attribute name = "accessDesc" use = "optional" type = "accessDescType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "ComponentPinRef">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "componentPinRef" use = "required" type = "componentPinRefType"/>
				<xsd:attribute name = "patternPinRef" use = "required" type = "patternPinRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Cutout">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "ClosedShape"/>
				</xsd:sequence>
				<xsd:attribute name = "barrelDescRef" type = "barrelDescRefType"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
				<xsd:attribute name = "locationTolRef" type = "locationTolRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DesignRules">
		<xsd:sequence>
			<xsd:element ref = "DesignRuleSet" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "DesignRuleSet">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "ResultSet" minOccurs = "0" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "comment" type = "xsd:string"/>
				<xsd:attribute name = "ruleSetURL" use = "required" type = "xsd:string"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Device">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Part"/>
					<xsd:element ref = "Alias" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element ref = "Alternate" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element ref = "PinDescs" minOccurs = "0"/>
					<xsd:element ref = "Program" minOccurs = "0"/>
					<xsd:element ref = "NumericValue" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element ref = "EnumeratedValue" minOccurs = "0" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "packageRef" use = "required" type = "packageRefType"/>
				<xsd:attribute name = "familyRef" type = "familyRefType"/>
				<xsd:attribute name = "type" use = "required" type = "deviceType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DeviceRef">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "process" use = "optional" type = "processType"/>
		<xsd:attribute name = "deviceRef" use = "required" type = "deviceRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Devices">
		<xsd:sequence>
			<xsd:element ref = "Device" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Diameter">
		<xsd:attribute name = "toleranceZone" use = "required" type = "nonNegativeDouble"/>
	</xsd:complexType>
	<xsd:complexType name = "Diamond">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DiamondDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DiamondRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "diamondRef" use = "required" type = "diamondRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Donut">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "shape" use = "required" type = "donutShapeType"/>
				<xsd:attribute name = "outerDiameter" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "innerDiameter" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DonutDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "shape" use = "required" type = "donutShapeType"/>
				<xsd:attribute name = "outerDiameter" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "innerDiameter" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DonutRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "donutRef" use = "required" type = "donutRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DrawGroup">
		<xsd:choice maxOccurs = "unbounded">
			<xsd:element name = "ArtworkRef" type = "ArtworkRef"/>
			<xsd:element name = "LogoRef" type = "LogoRef"/>
			<xsd:element ref = "ShapeBuilder"/>
			<xsd:element ref = "Text"/>
			<xsd:element ref = "DrawGroupRef"/>
		</xsd:choice>
		<xsd:attribute name = "drawGroupId" use = "required" type = "drawGroupIdType"/>
	</xsd:complexType>
	<xsd:complexType name = "DrawGroupRef">
		<xsd:sequence>
			<xsd:element ref = "Xform"/>
		</xsd:sequence>
		<xsd:attribute name = "drawGroupRef" use = "required" type = "drawGroupRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Drawing">
		<xsd:complexContent>
			<xsd:extension base = "TopLevelNamedType">
				<xsd:choice maxOccurs = "unbounded">
					<xsd:element ref = "Sheet"/>
					<xsd:element ref = "ExternalDrawing"/>
				</xsd:choice>
				<xsd:attribute name = "name" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "number" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "revision" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "type" use = "required" type = "drawingType"/>
				<xsd:attribute name = "date" use = "required" type = "xsd:dateTime"/>
				<xsd:attribute name = "size" type = "drawingSizeType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DrawingRef">
		<xsd:attribute name = "drawingRef" use = "required" type = "drawingRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "DrawingRefs">
		<xsd:sequence>
			<xsd:element ref = "DrawingRef" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Drawings">
		<xsd:sequence>
			<xsd:element ref = "Drawing" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "DShape">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "endShape" use = "required" type = "dShapeEndType"/>
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "corner" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DShapeDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "endShape" use = "required" type = "dShapeEndType"/>
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "corner" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "DShapeRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "dShapeRef" use = "required" type = "dShapeRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "EllipArc">
		<xsd:complexContent>
			<xsd:extension base = "VectorGraphic">
				<xsd:attribute name = "startXY" use = "required" type = "point"/>
				<xsd:attribute name = "endXY" use = "required" type = "point"/>
				<xsd:attribute name = "focus1" use = "required" type = "point"/>
				<xsd:attribute name = "focus2" use = "required" type = "point"/>
				<xsd:attribute name = "direction" use = "optional" type = "directionType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "EllipArcTo">
		<xsd:attribute name = "endXY" use = "required" type = "point"/>
		<xsd:attribute name = "focus1" use = "required" type = "point"/>
		<xsd:attribute name = "focus2" use = "required" type = "point"/>
		<xsd:attribute name = "direction" use = "optional" type = "directionType"/>
	</xsd:complexType>
	<xsd:complexType name = "EndCircArc">
		<xsd:attribute name = "center" use = "required" type = "point"/>
		<xsd:attribute name = "direction" use = "optional" type = "directionType"/>
	</xsd:complexType>
	<xsd:complexType name = "EndEllipArc">
		<xsd:attribute name = "focus1" use = "required" type = "point"/>
		<xsd:attribute name = "focus2" use = "required" type = "point"/>
		<xsd:attribute name = "direction" use = "optional" type = "directionType"/>
	</xsd:complexType>
	<xsd:complexType name = "EndLine"/>
	<xsd:complexType name = "Enterprise">
		<xsd:complexContent>
			<xsd:extension base = "TopLevelNamedType">
				<xsd:sequence>
					<xsd:element ref = "RoleRef" minOccurs = "0" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "name" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "address1" type = "xsd:string"/>
				<xsd:attribute name = "address2" type = "xsd:string"/>
				<xsd:attribute name = "city" type = "xsd:string"/>
				<xsd:attribute name = "stateProvice" type = "xsd:string"/>
				<xsd:attribute name = "country" use = "optional" type = "isoCodeType"/>
				<xsd:attribute name = "postalCode" type = "xsd:string"/>
				<xsd:attribute name = "phone" type = "xsd:string"/>
				<xsd:attribute name = "fax" type = "xsd:string"/>
				<xsd:attribute name = "email" type = "xsd:string"/>
				<xsd:attribute name = "url" use = "optional" type = "xsd:anyURI"/>
				<xsd:attribute name = "code" type = "xsd:string"/>
				<xsd:attribute name = "codeType" use = "optional" type = "enterpriseCodeType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Enterprises">
		<xsd:sequence>
			<xsd:element ref = "Enterprise" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "EnumeratedValue">
		<xsd:attribute name = "typeRef" use = "required" type = "enumeratedValueType"/>
		<xsd:attribute name = "value" use = "required" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "ExternalDrawing">
		<xsd:attribute name = "url" use = "required" type = "xsd:anyURI"/>
		<xsd:attribute name = "drawingFormat" use = "required" type = "mimeType"/>
	</xsd:complexType>
	<xsd:complexType name = "Family">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "driveHigh" use = "required" type = "xsd:double"/>
				<xsd:attribute name = "driveLow" use = "required" type = "xsd:double"/>
				<xsd:attribute name = "receiveHigh" use = "required" type = "xsd:double"/>
				<xsd:attribute name = "receiveLow" use = "required" type = "xsd:double"/>
				<xsd:attribute name = "openInputLogic" use = "required" type = "openInputLogicType"/>
				<xsd:attribute name = "edgeSpeed" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "load" use = "required" type = "loadType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Families">
		<xsd:sequence>
			<xsd:element ref = "Family" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Feature">
		<xsd:complexContent>
			<xsd:extension base = "NamedFilledGraphic">
				<xsd:sequence>
					<xsd:element ref = "ShapeBuilder" maxOccurs = "unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "FeatureRef">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "featureRef" use = "required" type = "featureRefType"/>
		<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Features">
		<xsd:sequence>
			<xsd:element ref = "Feature" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "FileRevision">
		<xsd:sequence>
			<xsd:element ref = "SoftwarePackage"/>
		</xsd:sequence>
		<xsd:attribute name = "modificationTime" use = "required" type = "xsd:dateTime"/>
		<xsd:attribute name = "fileRevisionId" use = "required" type = "xsd:string"/>
		<xsd:attribute name = "comment" use = "required" type = "xsd:string"/>
		<xsd:attribute name = "label" use = "optional" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "FilledGraphic" abstract = "true">
		<xsd:complexContent>
			<xsd:extension base = "VectorGraphic">
				<xsd:sequence>
					<xsd:element ref = "Place"/>
				</xsd:sequence>
				<xsd:attribute name = "paintDescRef" type = "paintDescRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Fixture">
		<xsd:sequence>
			<xsd:element ref = "Outline" maxOccurs = "unbounded"/>
			<xsd:element ref = "Cutout" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Well" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Slot" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element name = "Keepout" type = "KeepoutNamed" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element name = "HoleRef" type = "HoleNamedRef" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Placement" maxOccurs = "unbounded"/>
		</xsd:sequence>
		<xsd:attribute name = "fixtureRef" use = "required" type = "fixtureRefType"/>
		<xsd:attribute name = "application" use = "required" type = "applicationType"/>
		<xsd:attribute name = "function" use = "optional" type = "fixtureFunctionType"/>
	</xsd:complexType>
	<xsd:complexType name = "FixtureElectronic">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Offset"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "FixtureElectronicRef">
		<xsd:attribute name = "fixtureElectronicRef" use = "required" type = "fixtureElectronicRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "FixtureElectronics">
		<xsd:sequence>
			<xsd:element ref = "FixtureElectronic" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Fixtures">
		<xsd:sequence>
			<xsd:element ref = "Fixture" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Frame">
		<xsd:sequence>
			<xsd:element ref = "Offset"/>
		</xsd:sequence>
		<xsd:attribute name = "artworkRef" use = "required" type = "artworkRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Font">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "url" use = "required" type = "xsd:anyURI"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Fonts">
		<xsd:sequence>
			<xsd:element ref = "Font" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "UFont" minOccurs = "0" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "GenCAM">
		<xsd:sequence>
			<xsd:element ref = "Header"/>
			<xsd:element ref = "Namespaces"/>
			<xsd:element ref = "RegisteredResources"/>
			<xsd:element ref = "Roles"/>
			<xsd:element ref = "Enterprises"/>
			<xsd:element ref = "Persons"/>
			<xsd:element ref = "TruePositionTolerances" minOccurs = "0"/>
			<xsd:element ref = "ProfileTolerances" minOccurs = "0"/>
			<xsd:element ref = "Products"/>
			<xsd:element ref = "Colors" minOccurs = "0"/>
			<xsd:element ref = "LineDescs" minOccurs = "0"/>
			<xsd:element ref = "PaintDescs" minOccurs = "0"/>
			<xsd:element ref = "BarrelDescs" minOccurs = "0"/>
			<xsd:element ref = "PrimitiveShapes" minOccurs = "0"/>
			<xsd:element ref = "Features" minOccurs = "0"/>
			<xsd:element ref = "Targets" minOccurs = "0"/>
			<xsd:element ref = "Fonts" minOccurs = "0"/>
			<xsd:element ref = "Logos" minOccurs = "0"/>
			<xsd:element ref = "Artworks" minOccurs = "0"/>
			<xsd:element ref = "Layers" minOccurs = "0"/>
			<xsd:element ref = "Pads" minOccurs = "0"/>
			<xsd:element ref = "Holes" minOccurs = "0"/>
			<xsd:element ref = "PadStacks" minOccurs = "0"/>
			<xsd:element ref = "Patterns" minOccurs = "0"/>
			<xsd:element ref = "MountingLocations" minOccurs = "0"/>
			<xsd:element ref = "Packages" minOccurs = "0"/>
			<xsd:element ref = "Families" minOccurs = "0"/>
			<xsd:element ref = "SchSymbols" minOccurs = "0"/>
			<xsd:element ref = "Devices" minOccurs = "0"/>
			<xsd:element ref = "Mechanicals" minOccurs = "0"/>
			<xsd:element ref = "ComponentPlacements" minOccurs = "0"/>
			<xsd:element ref = "Routes" minOccurs = "0"/>
			<xsd:element ref = "Boards" minOccurs = "0"/>
			<xsd:element ref = "Assemblies" minOccurs = "0"/>
			<xsd:element ref = "Panels" minOccurs = "0"/>
			<xsd:element ref = "PowerSupplies" minOccurs = "0"/>
			<xsd:element ref = "Fixtures" minOccurs = "0"/>
			<xsd:element ref = "Drawings" minOccurs = "0"/>
			<xsd:element ref = "TestPins" minOccurs = "0"/>
			<xsd:element ref = "TestProbes" minOccurs = "0"/>
			<xsd:element ref = "FixtureElectronics" minOccurs = "0"/>
			<xsd:element ref = "TestConnects" minOccurs = "0"/>
			<xsd:element ref = "Changes" minOccurs = "0"/>
		</xsd:sequence>
		<xsd:attribute name = "version" use = "required" type = "versionType"/>
	</xsd:complexType>
	<xsd:complexType name = "GeneratedBy">
		<xsd:sequence>
			<xsd:element ref = "Certification" maxOccurs = "unbounded"/>
		</xsd:sequence>
		<xsd:attribute name = "softwarePackage" use = "required" type = "xsd:string"/>
		<xsd:attribute name = "revision" use = "required" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "Glyph">
		<xsd:sequence>
			<xsd:element ref = "ShapeBuilder" maxOccurs = "unbounded"/>
		</xsd:sequence>
		<xsd:attribute name = "charCode" use = "required" type = "xsd:string"/>
		<xsd:attribute name = "p1" use = "required" type = "point"/>
		<xsd:attribute name = "p2" use = "required" type = "point"/>
	</xsd:complexType>
	<xsd:complexType name = "Groove">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "PolylineBuilder"/>
				</xsd:sequence>
				<xsd:attribute name = "nominalAngle" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "surface" use = "required" type = "surfaceType"/>
				<xsd:attribute name = "cutMode" use = "required" type = "cutModeType"/>
				<xsd:attribute name = "remValue" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "grooveWidth" type = "nonNegativeDouble"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
				<xsd:attribute name = "locationTolRef" type = "locationTolRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Header">
		<xsd:sequence>
			<xsd:element ref = "GeneratedBy"/>
			<xsd:element ref = "History"/>
			<xsd:element ref = "Units" minOccurs = "0"/>
			<xsd:element ref = "Language" minOccurs = "0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Hexagon">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "pointToPoint" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "HexagonDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "pointToPoint" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "HexagonRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "hexagonRef" use = "required" type = "hexagonRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "HighPotTest">
		<xsd:attribute name = "ohmValue" use = "required" type = "nonNegativeDouble"/>
		<xsd:attribute name = "posTol" type = "nonNegativeDouble"/>
		<xsd:attribute name = "negTol" type = "nonNegativeDouble"/>
		<xsd:attribute name = "testVoltage" use = "required" type = "nonNegativeDouble"/>
		<xsd:attribute name = "routeRef" use = "required" type = "routeRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "History">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:sequence>
					<xsd:element ref = "FileRevision" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "number" use = "required" type = "historyNumberType"/>
				<xsd:attribute name = "origination" use = "required" type = "xsd:dateTime"/>
				<xsd:attribute name = "lastChange" use = "required" type = "xsd:dateTime"/>
				<xsd:attribute name = "externalConfigurationControlEntryPoint" type = "xsd:anyURI"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Hole">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "type" use = "required" type = "holeDefType"/>
				<xsd:attribute name = "primitiveRef" use = "required" type = "primitiveRefType"/>
				<xsd:attribute name = "barrelDescRef" type = "barrelDescRefType"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
				<xsd:attribute name = "displayGraphics" type = "artworkRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "HoleRef">
		<xsd:sequence>
			<xsd:element ref = "Position"/>
		</xsd:sequence>
		<xsd:attribute name = "holeRef" use = "required" type = "holeRefType"/>
		<xsd:attribute name = "locationTolRef" type = "locationTolRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Holes">
		<xsd:sequence>
			<xsd:element ref = "Hole" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Image">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Place"/>
				</xsd:sequence>
				<xsd:attribute name = "imageRef" use = "required" type = "imageRefType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
				<xsd:attribute name = "consistencyLevel" use = "required" type = "consistencyLevelType"/>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
				<xsd:attribute name = "source" use = "optional" type = "imageSourceType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Images">
		<xsd:sequence>
			<xsd:element ref = "Image" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Inductance">
		<xsd:attribute name = "henryValue" use = "required" type = "nonNegativeDouble"/>
		<xsd:attribute name = "negTol" type = "nonNegativeDouble"/>
		<xsd:attribute name = "posTol" type = "nonNegativeDouble"/>
	</xsd:complexType>
	<xsd:complexType name = "InsertLayer">
		<xsd:sequence>
			<xsd:element ref = "Xform"/>
		</xsd:sequence>
		<xsd:attribute name = "productRef" use = "required" type = "productRefType"/>
		<xsd:attribute name = "layerSingleRef" use = "required" type = "layerSingleRefType"/>
		<xsd:attribute name = "p1clip" type = "point"/>
		<xsd:attribute name = "p2clip" type = "point"/>
		<xsd:attribute name = "alpha" type = "nonNegativeDouble"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Keepout">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:sequence>
					<xsd:element ref = "ClosedShape"/>
				</xsd:sequence>
				<xsd:attribute name = "type" use = "required" type = "keepoutType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Language">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "lang" use = "required" type = "langCode"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Layer">
		<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Layers">
		<xsd:sequence>
			<xsd:element ref = "LayerSingle" maxOccurs = "unbounded"/>
			<xsd:element ref = "LayerSet" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "LayerSwap" minOccurs = "0" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "LayerSet">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Layer" maxOccurs = "unbounded"/>
					<xsd:element ref = "PreferredVendors" minOccurs = "0"/>
				</xsd:sequence>
				<xsd:attribute name = "thickness" type = "nonNegativeDouble"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "LayerSingle">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "surface" use = "required" type = "layerSurfaceType"/>
				<xsd:attribute name = "type" use = "required" type = "layerTypeType"/>
				<xsd:attribute name = "material" type = "materialType"/>
				<xsd:attribute name = "materialCode" type = "materialCodeType"/>
				<xsd:attribute name = "thickness" type = "nonNegativeDouble"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
				<xsd:attribute name = "functionCategory" use = "required" type = "functionCategoryType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "LayerSwap">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "originalLayer" use = "required" type = "layerSingleRefType"/>
				<xsd:attribute name = "swapWithLayer" use = "required" type = "layerSingleRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Line">
		<xsd:complexContent>
			<xsd:extension base = "VectorGraphic">
				<xsd:attribute name = "startXY" use = "required" type = "point"/>
				<xsd:attribute name = "endXY" use = "required" type = "point"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "LineDesc">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "modEnd" use = "optional" type = "modEndType"/>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
				<xsd:attribute name = "type" use = "optional" type = "lineTypeType"/>
				<xsd:attribute name = "space" type = "nonNegativeDouble"/>
				<xsd:attribute name = "length" type = "nonNegativeDouble"/>
				<xsd:attribute name = "lineMod" use = "optional" type = "lineModType"/>
				<xsd:attribute name = "lineEnd" use = "optional" type = "lineEndType"/>
				<xsd:attribute name = "dimA" type = "nonNegativeDouble"/>
				<xsd:attribute name = "dimB" type = "nonNegativeDouble"/>
				<xsd:attribute name = "dimC" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "LineDescs">
		<xsd:sequence>
			<xsd:element ref = "LineDesc" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "LineTo">
		<xsd:attribute name = "endXY" use = "required" type = "point"/>
	</xsd:complexType>
	<xsd:complexType name = "Location">
		<xsd:sequence>
			<xsd:element ref = "Offset" minOccurs = "0"/>
		</xsd:sequence>
		<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Logo">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:choice maxOccurs = "unbounded">
					<xsd:element ref = "ShapeBuilder"/>
					<xsd:element name = "Text" type = "Text"/>
				</xsd:choice>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "LogoRef">
		<xsd:sequence>
			<xsd:element ref = "Xform"/>
		</xsd:sequence>
		<xsd:attribute name = "logoRef" use = "required" type = "logoRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "LogoRefWithLayers">
		<xsd:sequence>
			<xsd:element ref = "Xform"/>
		</xsd:sequence>
		<xsd:attribute name = "logoRef" use = "required" type = "logoRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
		<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "LogoRefNamedWithLayers">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Xform"/>
				</xsd:sequence>
				<xsd:attribute name = "logoRef" use = "required" type = "logoRefType"/>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Logos">
		<xsd:sequence>
			<xsd:element ref = "Logo" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "MaximumMaterialConditionDiameter">
		<xsd:attribute name = "mmcToleranceZone" use = "required" type = "nonNegativeDouble"/>
	</xsd:complexType>
	<xsd:complexType name = "Mechanical">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Part" minOccurs = "0"/>
					<xsd:element ref = "Alias" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element ref = "Alternate" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element name = "ArtworkRef" type = "ArtworkRefWithLayer" minOccurs = "0" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "height" type = "nonNegativeDouble"/>
				<xsd:attribute name = "standoff" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "MechanicalRef">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "mechanicalRef" use = "required" type = "mechanicalRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Mechanicals">
		<xsd:sequence>
			<xsd:element ref = "Mechanical" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "MountingLocation">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:sequence>
					<xsd:element ref = "Place"/>
					<xsd:element ref = "PatternRef"/>
					<xsd:element name = "ArtworkRef" type = "ArtworkRefWithLayer" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element name = "Text" type = "TextWithLayer" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element ref = "Keepout" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element ref = "PatternPadRef" minOccurs = "0" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "refDes" use = "required" type = "qualifiedName"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "MountingLocationRef">
		<xsd:attribute name = "refDesRef" use = "required" type = "refDesRefType"/>
		<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "MountingLocationRefs">
		<xsd:sequence>
			<xsd:element ref = "MountingLocationRef" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "MountingLocations">
		<xsd:sequence>
			<xsd:element ref = "MountingLocation" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "NamedFilledGraphic" abstract = "true">
		<xsd:complexContent>
			<xsd:extension base = "NamedVectorGraphic">
				<xsd:attribute name = "paintDescRef" type = "paintDescRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "HoleNamedRef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Position"/>
				</xsd:sequence>
				<xsd:attribute name = "holeRef" use = "required" type = "holeRefType"/>
				<xsd:attribute name = "locationTolRef" type = "locationTolRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "KeepoutNamed">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "ClosedShape"/>
				</xsd:sequence>
				<xsd:attribute name = "type" use = "required" type = "keepoutType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Namespace">
		<xsd:attribute name = "prefix" use = "required" type = "prefixType"/>
		<xsd:attribute name = "uri" use = "required" type = "xsd:anyURI"/>
		<xsd:attribute name = "description" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "Namespaces">
		<xsd:sequence>
			<xsd:element ref = "Namespace" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "NamedType" abstract = "true">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "id" use = "required" type = "qualifiedName"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "NamedVectorGraphic" abstract = "true">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
				<xsd:attribute name = "lineDescRef" type = "lineDescRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Net">
		<xsd:sequence>
			<xsd:element ref = "PolylineBuilder" maxOccurs = "unbounded"/>
			<xsd:element ref = "Text" minOccurs = "0" maxOccurs = "unbounded"/>
		</xsd:sequence>
		<xsd:attribute name = "netRef" use = "required" type = "routeRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "NumericValue">
		<xsd:attribute name = "nominal" use = "optional" type = "xsd:double"/>
		<xsd:attribute name = "minimum" type = "xsd:double"/>
		<xsd:attribute name = "maximum" type = "xsd:double"/>
		<xsd:attribute name = "position" type = "PositionType"/>
		<xsd:attribute name = "units" use = "optional" type = "valueType"/>
		<xsd:attribute name = "decade" type = "xsd:double"/>
		<xsd:attribute name = "comparitor" type = "comparitorType"/>
	</xsd:complexType>
	<xsd:complexType name = "Octagon">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "pointToPoint" use = "required" type = "nonNegativeDouble"/>
		<xsd:attribute name = "lineDescRef" type = "lineDescRefType"/>
		<xsd:attribute name = "paintDescRef" type = "paintDescRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "OctagonDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "pointToPoint" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "OctagonRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "octagonRef" use = "required" type = "octagonRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Offset">
		<xsd:attribute name = "x" use = "optional" type = "xsd:double"/>
		<xsd:attribute name = "y" use = "optional" type = "xsd:double"/>
	</xsd:complexType>
	<xsd:complexType name = "OnFail">
		<xsd:attribute name = "textString" use = "required" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "Outline">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "ClosedShape" maxOccurs = "unbounded"/>
					<xsd:element ref = "Thickness" minOccurs = "0" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Oval">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "OvalDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "OvalRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "ovalRef" use = "required" type = "ovalRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Package">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Body" minOccurs = "0" maxOccurs = "unbounded"/>
					<xsd:element name = "TargetRef" type = "TargetRefWithLayer" minOccurs = "0"/>
					<xsd:element ref = "Pin" maxOccurs = "unbounded"/>
					<xsd:element ref = "PinOne" minOccurs = "0"/>
				</xsd:sequence>
				<xsd:attribute name = "type" type = "packageTypeType"/>
				<xsd:attribute name = "height" type = "nonNegativeDouble"/>
				<xsd:attribute name = "standoff" type = "nonNegativeDouble"/>
				<xsd:attribute name = "centroid" type = "point"/>
				<xsd:attribute name = "locationTolRef" type = "truePositionTolRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Packages">
		<xsd:sequence>
			<xsd:element ref = "Package" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Pad">
		<xsd:complexContent>
			<xsd:extension base = "NamedVectorGraphic">
				<xsd:attribute name = "padPrimitiveRef" use = "required" type = "padPrimitiveRefType"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
				<xsd:attribute name = "paintDescRef" use = "required" type = "paintDescRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "PadLocation">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "padStackRef" use = "required" type = "padStackRefType"/>
		<xsd:attribute name = "patternPinName" use = "required" type = "pinName"/>
	</xsd:complexType>
	<xsd:complexType name = "PadRef">
		<xsd:sequence>
			<xsd:element ref = "Position"/>
		</xsd:sequence>
		<xsd:attribute name = "padRef" use = "required" type = "padRefType"/>
		<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
		<xsd:attribute name = "locationTolRef" type = "locationTolRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Pads">
		<xsd:sequence>
			<xsd:element ref = "Pad" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "PadStack">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:choice maxOccurs = "unbounded">
					<xsd:element ref = "PadRef"/>
					<xsd:element name = "ArtworkRef" type = "ArtworkRefWithLayer"/>
					<xsd:element ref = "HoleRef"/>
				</xsd:choice>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "PadStacks">
		<xsd:sequence>
			<xsd:element ref = "PadStack" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "PaintDesc">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "type" use = "optional" type = "paintTypeType"/>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
				<xsd:attribute name = "lineWidth" use = "optional" type = "nonNegativeDouble"/>
				<xsd:attribute name = "pitch1" type = "nonNegativeDouble"/>
				<xsd:attribute name = "pitch2" type = "nonNegativeDouble"/>
				<xsd:attribute name = "angle1" type = "nonNegativeDouble"/>
				<xsd:attribute name = "angle2" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "PaintDescs">
		<xsd:sequence>
			<xsd:element ref = "PaintDesc" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Panel">
		<xsd:sequence>
			<xsd:element ref = "Outline" maxOccurs = "unbounded"/>
			<xsd:element ref = "Cutout" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Well" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Slot" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element name = "Keepout" type = "KeepoutNamed" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element name = "HoleRef" type = "HoleNamedRef" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Groove" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "Placement" maxOccurs = "unbounded"/>
			<xsd:sequence>
				<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
					<xsd:element name = "TargetRef" type = "TargetRefNamedWithLayers"/>
					<xsd:element name = "LogoRef" type = "LogoRefNamedWithLayers"/>
					<xsd:element name = "Text" type = "TextNamedWithLayers"/>
					<xsd:element ref = "Image"/>
					<xsd:element ref = "MountingLocationRef"/>
					<xsd:element ref = "RouteRefs"/>
				</xsd:choice>
			</xsd:sequence>
			<xsd:element ref = "BareBoardTest" minOccurs = "0" maxOccurs = "unbounded"/>
			<xsd:element ref = "DrawingRefs" minOccurs = "0"/>
			<xsd:element ref = "DesignRules" minOccurs = "0"/>
		</xsd:sequence>
		<xsd:attribute name = "panelRef" use = "required" type = "panelRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Panels">
		<xsd:sequence>
			<xsd:element ref = "Panel" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Part">
		<xsd:attribute name = "enterprisePartId" use = "required" type = "xsd:string"/>
		<xsd:attribute name = "enterpriseRef" use = "required" type = "enterpriseRefType"/>
		<xsd:attribute name = "revision" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "Path">
		<xsd:sequence>
			<xsd:element ref = "PolylineBuilder" maxOccurs = "unbounded"/>
		</xsd:sequence>
		<xsd:attribute name = "lineDescRef" use = "required" type = "lineDescRefType"/>
		<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
		<xsd:attribute name = "layerSingleRef" use = "required" type = "layerSingleRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Pattern">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:choice maxOccurs = "unbounded">
					<xsd:element ref = "PadLocation"/>
					<xsd:element name = "TargetRef" type = "TargetRefWithLayer"/>
					<xsd:element ref = "FeatureRef"/>
					<xsd:element name = "ArtworkRef" type = "ArtworkRefWithLayer"/>
					<xsd:element name = "Text" type = "TextWithLayer"/>
					<xsd:element ref = "HoleRef"/>
				</xsd:choice>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "PatternPadRef">
		<xsd:complexContent>
			<xsd:extension base = "PadRef">
				<xsd:attribute name = "patternPinRef" use = "required" type = "patternPinRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "PatternRef">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "patternRef" use = "required" type = "patternRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Patterns">
		<xsd:sequence>
			<xsd:element ref = "Pattern" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Person">
		<xsd:complexContent>
			<xsd:extension base = "TopLevelNamedType">
				<xsd:sequence>
					<xsd:element ref = "RoleRef" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "name" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "enterpriseRef" use = "required" type = "enterpriseRefType"/>
				<xsd:attribute name = "title" type = "xsd:string"/>
				<xsd:attribute name = "email" type = "xsd:string"/>
				<xsd:attribute name = "phone" type = "xsd:string"/>
				<xsd:attribute name = "fax" type = "xsd:string"/>
				<xsd:attribute name = "mailstop" type = "xsd:string"/>
				<xsd:attribute name = "publicKey" type = "xsd:base64Binary"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Persons">
		<xsd:sequence>
			<xsd:element ref = "Person" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Pin">
		<xsd:sequence>
			<xsd:element ref = "Position"/>
		</xsd:sequence>
		<xsd:attribute name = "patternPinRef" use = "required" type = "patternPinRefType"/>
		<xsd:attribute name = "type" type = "pinTypeType"/>
		<xsd:attribute name = "exit" type = "xsd:string"/>
		<xsd:attribute name = "shadow" type = "artworkRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "PinDesc">
		<xsd:attribute name = "patternPinRef" use = "required" type = "patternPinRefType"/>
		<xsd:attribute name = "function" type = "pinDescFunctionType"/>
		<xsd:attribute name = "circuitNumber" type = "circuitNumberType"/>
		<xsd:attribute name = "schSymbolRef" type = "schSymbolRefType"/>
		<xsd:attribute name = "symPinRef" type = "symPinRefType"/>
		<xsd:attribute name = "familyRef" type = "familyRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "PinDescs">
		<xsd:sequence>
			<xsd:element ref = "PinDesc" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "PinOne">
		<xsd:attribute name = "patternPinRef" use = "required" type = "patternPinRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Place">
		<xsd:attribute name = "x" use = "optional" type = "xsd:double"/>
		<xsd:attribute name = "y" use = "optional" type = "xsd:double"/>
		<xsd:attribute name = "rotation" type = "nonNegativeDouble"/>
		<xsd:attribute name = "mirror" use = "optional" type = "mirrorType"/>
	</xsd:complexType>
	<xsd:complexType name = "Placement">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:sequence>
					<xsd:element ref = "Place"/>
				</xsd:sequence>
				<xsd:attribute name = "productRef" use = "required" type = "productRefType"/>
				<xsd:attribute name = "productInstanceId" use = "required" type = "productInstanceType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Plane">
		<xsd:sequence>
			<xsd:element ref = "PolygonBuilder"/>
		</xsd:sequence>
		<xsd:attribute name = "paintDescRef" use = "required" type = "paintDescRefType"/>
		<xsd:attribute name = "layerSingleRef" use = "required" type = "layerSingleRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Polygon">
		<xsd:sequence>
			<xsd:choice maxOccurs = "unbounded">
				<xsd:element ref = "LineTo"/>
				<xsd:element ref = "CircArcTo"/>
				<xsd:element ref = "EllipArcTo"/>
			</xsd:choice>
			<xsd:choice>
				<xsd:element ref = "EndLine"/>
				<xsd:element ref = "EndCircArc"/>
				<xsd:element ref = "EndEllipArc"/>
			</xsd:choice>
		</xsd:sequence>
		<xsd:attribute name = "startXY" use = "required" type = "point"/>
		<xsd:attribute name = "lineDescRef" type = "lineDescRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
		<xsd:attribute name = "paintDescRef" type = "paintDescRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "PolygonBuilder" abstract = "true"/>
	<xsd:complexType name = "PolygonDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:choice maxOccurs = "unbounded">
						<xsd:element ref = "LineTo"/>
						<xsd:element ref = "CircArcTo"/>
						<xsd:element ref = "EllipArcTo"/>
					</xsd:choice>
					<xsd:choice>
						<xsd:element ref = "EndLine"/>
						<xsd:element ref = "EndCircArc"/>
						<xsd:element ref = "EndEllipArc"/>
					</xsd:choice>
				</xsd:sequence>
				<xsd:attribute name = "startXY" use = "required" type = "point"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Polyline">
		<xsd:choice maxOccurs = "unbounded">
			<xsd:element ref = "LineTo"/>
			<xsd:element ref = "CircArcTo"/>
			<xsd:element ref = "EllipArcTo"/>
		</xsd:choice>
		<xsd:attribute name = "lineDescRef" type = "lineDescRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
		<xsd:attribute name = "startXY" use = "required" type = "point"/>
	</xsd:complexType>
	<xsd:complexType name = "PolylineBuilder" abstract = "true"/>
	<xsd:complexType name = "PolylineDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:choice maxOccurs = "unbounded">
					<xsd:element ref = "LineTo"/>
					<xsd:element ref = "CircArcTo"/>
					<xsd:element ref = "EllipArcTo"/>
				</xsd:choice>
				<xsd:attribute name = "startXY" use = "required" type = "point"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "PolylineRef">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "polylineRef" use = "required" type = "polylineRefType"/>
		<xsd:attribute name = "lineDescRef" type = "lineDescRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "PolygonRef">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "polygonRef" use = "required" type = "polygonRefType"/>
		<xsd:attribute name = "lineDescRef" type = "lineDescRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
		<xsd:attribute name = "paintDescRef" type = "paintDescRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Position">
		<xsd:attribute name = "x" use = "optional" type = "xsd:double"/>
		<xsd:attribute name = "y" use = "optional" type = "xsd:double"/>
		<xsd:attribute name = "rotation" type = "nonNegativeDouble"/>
	</xsd:complexType>
	<xsd:complexType name = "PowerSupplies">
		<xsd:sequence>
			<xsd:element ref = "PowerSupply" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "PowerSupplyRef">
		<xsd:attribute name = "powerSupplyRef" use = "required" type = "qualifiedName"/>
	</xsd:complexType>
	<xsd:complexType name = "PowerSupplyRefs">
		<xsd:sequence>
			<xsd:element ref = "PowerSupplyRef" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "PreferredVendor">
		<xsd:attribute name = "enterpriseRef" use = "required" type = "enterpriseRefType"/>
		<xsd:attribute name = "personRef" use = "optional" type = "personRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "PreferredVendors">
		<xsd:sequence>
			<xsd:element ref = "PreferredVendor" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Preparation">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "name" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "type" use = "required" type = "preparationTypeType"/>
				<xsd:attribute name = "drawingRef" type = "drawingRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Presentation">
		<xsd:attribute name = "deliverySystem" use = "required" type = "deliverySystemType"/>
		<xsd:attribute name = "configuration" type = "xsd:string"/>
		<xsd:attribute name = "other" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "PrimitiveShapes">
		<xsd:choice maxOccurs = "unbounded">
			<xsd:element ref = "CircleDef"/>
			<xsd:element ref = "RectCornerDef"/>
			<xsd:element ref = "RectCenterDef"/>
			<xsd:element ref = "RectChamDef"/>
			<xsd:element ref = "RectRoundDef"/>
			<xsd:element ref = "OvalDef"/>
			<xsd:element ref = "DShapeDef"/>
			<xsd:element ref = "HexagonDef"/>
			<xsd:element ref = "DiamondDef"/>
			<xsd:element ref = "OctagonDef"/>
			<xsd:element ref = "DonutDef"/>
			<xsd:element ref = "Thermal"/>
			<xsd:element ref = "PolygonDef"/>
			<xsd:element ref = "PolylineDef"/>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name = "Product">
		<xsd:complexContent>
			<xsd:extension base = "TopLevelNamedType">
				<xsd:sequence>
					<xsd:element ref = "Transaction"/>
					<xsd:element ref = "PreferredVendors" minOccurs = "0"/>
				</xsd:sequence>
				<xsd:attribute name = "name" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "number" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "revision" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "type" use = "required" type = "productSelectorType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Products">
		<xsd:sequence>
			<xsd:element ref = "Product" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "ProfileTolerance">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "finishedLMC" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "finishedMMC" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "startLMC" type = "nonNegativeDouble"/>
				<xsd:attribute name = "startMMC" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "ProfileTolerances">
		<xsd:sequence>
			<xsd:element ref = "ProfileTolerance" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Program">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "name" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "enterpriseRef" use = "required" type = "enterpriseRefType"/>
				<xsd:attribute name = "revision" use = "required" type = "xsd:string"/>
				<xsd:attribute name = "programDate" type = "xsd:dateTime"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectCenter">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectCenterDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectCenterRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "rectCenterRef" use = "required" type = "rectCenterRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectCham">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "chamfer" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectChamDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "chamfer" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectChamRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "rectChamRef" use = "required" type = "rectChamRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectCorner">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "p1" use = "required" type = "point"/>
				<xsd:attribute name = "p2" use = "required" type = "point"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectCornerDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "p1" use = "required" type = "point"/>
				<xsd:attribute name = "p2" use = "required" type = "point"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectCornerRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "rectCornerRef" use = "required" type = "rectCornerRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectRound">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "radius" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectRoundDef">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "height" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "radius" use = "required" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RectRoundRef">
		<xsd:complexContent>
			<xsd:extension base = "FilledGraphic">
				<xsd:attribute name = "rectRoundRef" use = "required" type = "rectRoundRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RegisteredResource">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "url" use = "required" type = "xsd:anyURI"/>
				<xsd:attribute name = "description" type = "xsd:string"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RegisteredResources">
		<xsd:sequence>
			<xsd:element ref = "RegisteredResource" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "ResultSet">
		<xsd:attribute name = "comment" use = "required" type = "xsd:string"/>
		<xsd:attribute name = "resultSetURL" use = "optional" type = "xsd:anyURI"/>
		<xsd:attribute name = "fileRevisionRef" use = "required" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "Role">
		<xsd:complexContent>
			<xsd:extension base = "TopLevelNamedType">
				<xsd:attribute name = "description" type = "xsd:string"/>
				<xsd:attribute name = "publicKey" type = "xsd:base64Binary"/>
				<xsd:attribute name = "authority" type = "xsd:string"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RoleRef">
		<xsd:attribute name = "roleRef" use = "required" type = "roleRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Roles">
		<xsd:sequence>
			<xsd:element ref = "Role" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Route">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:choice maxOccurs = "unbounded">
						<xsd:element ref = "Path"/>
						<xsd:element ref = "Plane"/>
						<xsd:element ref = "Via"/>
						<xsd:element ref = "TestPad"/>
						<xsd:element ref = "ComponentPin"/>
					</xsd:choice>
					<xsd:sequence>
						<xsd:element ref = "HighPotTest" minOccurs = "0"/>
						<xsd:element ref = "UnbalancedImpedance" minOccurs = "0"/>
						<xsd:element ref = "BalancedImpedance" minOccurs = "0"/>
						<xsd:element ref = "Capacitance" minOccurs = "0"/>
						<xsd:element ref = "Inductance" minOccurs = "0"/>
					</xsd:sequence>
				</xsd:sequence>
				<xsd:attribute name = "netClass" use = "required" type = "netClassType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "RouteRef">
		<xsd:attribute name = "routeRef" use = "required" type = "routeRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "RouteRefs">
		<xsd:sequence>
			<xsd:element ref = "RouteRef" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Routes">
		<xsd:sequence>
			<xsd:element ref = "Route" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "SymPin">
		<xsd:attribute name = "pinGraphics" use = "required" type = "artworkRefType"/>
		<xsd:attribute name = "symPinName" use = "required" type = "pinName"/>
	</xsd:complexType>
	<xsd:complexType name = "SymPinRef">
		<xsd:attribute name = "symPinRef" use = "required" type = "symPinRefType"/>
		<xsd:attribute name = "netRef" use = "required" type = "routeRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "SchSymbol">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:choice maxOccurs = "unbounded">
					<xsd:element ref = "ShapeBuilder"/>
					<xsd:element name = "ArtworkRef" type = "ArtworkRef"/>
					<xsd:element name = "Text" type = "Text"/>
					<xsd:element ref = "SymPin"/>
				</xsd:choice>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "SchSymbolRef">
		<xsd:sequence>
			<xsd:element ref = "Xform"/>
			<xsd:element ref = "SymPinRef" maxOccurs = "unbounded"/>
			<xsd:element ref = "Text" minOccurs = "0" maxOccurs = "unbounded"/>
		</xsd:sequence>
		<xsd:attribute name = "schSymbolRef" use = "required" type = "schSymbolRefType"/>
		<xsd:attribute name = "componentRef" use = "required" type = "componentRefType"/>
		<xsd:attribute name = "circuitRef" use = "required" type = "circuitRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "SchSymbols">
		<xsd:sequence>
			<xsd:element ref = "SchSymbol" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "ShapeBuilder" abstract = "true"/>
	<xsd:complexType name = "Schedule">
		<xsd:attribute name = "quantity" use = "required" type = "nonNegativeDouble"/>
		<xsd:attribute name = "deliverableDate" use = "required" type = "xsd:dateTime"/>
	</xsd:complexType>
	<xsd:complexType name = "Sheet">
		<xsd:sequence>
			<xsd:element ref = "Frame" minOccurs = "0"/>
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:element ref = "InsertLayer"/>
				<xsd:element ref = "SchSymbolRef"/>
				<xsd:element ref = "Net"/>
				<xsd:element ref = "DrawGroup"/>
			</xsd:choice>
		</xsd:sequence>
		<xsd:attribute name = "number" use = "required" type = "xsd:string"/>
		<xsd:attribute name = "revision" use = "required" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "Slot">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "PolylineBuilder"/>
				</xsd:sequence>
				<xsd:attribute name = "width" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "barrelDescRef" type = "barrelDescRefType"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
				<xsd:attribute name = "locationTolRef" type = "locationTolRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "SoftwarePackage">
		<xsd:sequence>
			<xsd:element ref = "Certification" maxOccurs = "unbounded"/>
		</xsd:sequence>
		<xsd:attribute name = "softwarePackage" use = "required" type = "xsd:string"/>
		<xsd:attribute name = "revision" use = "required" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "PowerSupply">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "voltage" use = "required" type = "xsd:double"/>
				<xsd:attribute name = "currentLimit" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "routeRef" use = "required" type = "routeRefType"/>
				<xsd:attribute name = "routePlaneRef" use = "required" type = "routeRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Target">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "ShapeBuilder" maxOccurs = "unbounded"/>
				</xsd:sequence>
				<xsd:attribute name = "function" use = "required" type = "targetFunctionType"/>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "TargetRefNamedWithLayers">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Place"/>
				</xsd:sequence>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
				<xsd:attribute name = "targetRef" use = "required" type = "targetRefType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "TargetRefWithLayer">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
		<xsd:attribute name = "targetRef" use = "required" type = "targetRefType"/>
		<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Targets">
		<xsd:sequence>
			<xsd:element ref = "Target" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "TestConnect">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:choice minOccurs = "2" maxOccurs = "2">
					<xsd:element ref = "TestPinRef"/>
					<xsd:element ref = "FixtureElectronicRef"/>
					<xsd:element ref = "TestProbeRef"/>
				</xsd:choice>
				<xsd:attribute name = "bunchLabel" type = "xsd:string"/>
				<xsd:attribute name = "bunchType" type = "bunchTypeType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "TestConnectRef">
		<xsd:attribute name = "testConnectRef" use = "required" type = "testConnectRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "TestConnectRefs">
		<xsd:sequence>
			<xsd:element ref = "TestConnectRef" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "TestConnects">
		<xsd:sequence>
			<xsd:element ref = "TestConnect" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "TestPad">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Position"/>
				</xsd:sequence>
				<xsd:attribute name = "padStackRef" use = "required" type = "padStackRefType"/>
				<xsd:attribute name = "testPoint" type = "point"/>
				<xsd:attribute name = "accessDesc" use = "optional" type = "accessDescType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "TestPadRef">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "testPadRef" use = "required" type = "testPadRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "TestPin">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Location" minOccurs = "0" maxOccurs = "unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "TestPinRef">
		<xsd:attribute name = "testPinRef" use = "required" type = "testPinRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "TestPins">
		<xsd:sequence>
			<xsd:element ref = "TestPin" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "TestProbe">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Offset" minOccurs = "0"/>
					<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
						<xsd:element ref = "ViaRef"/>
						<xsd:element ref = "TestPadRef"/>
						<xsd:element ref = "ComponentPinRef"/>
					</xsd:choice>
				</xsd:sequence>
				<xsd:attribute name = "type" use = "required" type = "testProbeType"/>
				<xsd:attribute name = "spring" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "receptDepth" use = "required" type = "xsd:double"/>
				<xsd:attribute name = "layerSingleRef" use = "required" type = "layerSingleRefType"/>
				<xsd:attribute name = "tipType" type = "tipTypeType"/>
				<xsd:attribute name = "attach" type = "probeAttachType"/>
				<xsd:attribute name = "productInstanceRef" type = "productInstanceType"/>
				<xsd:attribute name = "recepticalSize" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "tipSize" use = "optional" type = "nonNegativeDouble"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "TestProbeRef">
		<xsd:attribute name = "testProbeRef" use = "required" type = "testProbeRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "TestProbes">
		<xsd:sequence>
			<xsd:element ref = "TestProbe" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Text">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "p1" use = "required" type = "point"/>
		<xsd:attribute name = "p2" use = "required" type = "point"/>
		<xsd:attribute name = "fontRef" type = "fontRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
		<xsd:attribute name = "textString" use = "required" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "TextNamedWithLayers">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Place"/>
				</xsd:sequence>
				<xsd:attribute name = "p1" use = "required" type = "point"/>
				<xsd:attribute name = "p2" use = "required" type = "point"/>
				<xsd:attribute name = "fontRef" type = "fontRefType"/>
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
				<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
				<xsd:attribute name = "textString" use = "required" type = "xsd:string"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "TextWithLayer">
		<xsd:sequence>
			<xsd:element ref = "Place"/>
		</xsd:sequence>
		<xsd:attribute name = "p1" use = "required" type = "point"/>
		<xsd:attribute name = "p2" use = "required" type = "point"/>
		<xsd:attribute name = "fontRef" type = "fontRefType"/>
		<xsd:attribute name = "colorRef" type = "colorRefType"/>
		<xsd:attribute name = "layersRef" use = "required" type = "layersRefType"/>
		<xsd:attribute name = "textString" use = "required" type = "xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name = "Thermal">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:attribute name = "shape" use = "required" type = "thermalShapeType"/>
				<xsd:attribute name = "outerDiameter" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "innerDiameter" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "spokeCount" default = "0" type = "xsd:nonNegativeInteger"/>
				<xsd:attribute name = "spokeWidth" type = "nonNegativeDouble"/>
				<xsd:attribute name = "spokeStartAngle" type = "nonNegativeDouble"/>
				<xsd:attribute name = "spokeEndShape" default = "SQUARE" type = "spokeEndShapeType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Thickness">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "thickness" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Transaction">
		<xsd:sequence>
			<xsd:element ref = "Schedule" minOccurs = "0" maxOccurs = "unbounded"/>
		</xsd:sequence>
		<xsd:attribute name = "type" use = "required" type = "transactionTypeType"/>
		<xsd:attribute name = "number" use = "required" type = "xsd:string"/>
		<xsd:attribute name = "date" use = "required" type = "xsd:dateTime"/>
	</xsd:complexType>
	<xsd:complexType name = "TopLevelNamedType">
		<xsd:attribute name = "id" use = "required" type = "shortName"/>
	</xsd:complexType>
	<xsd:complexType name = "TruePositionTolerances">
		<xsd:sequence>
			<xsd:element ref = "TruePositionTolerance" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "TruePositionTolerance">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:choice>
					<xsd:element ref = "Bilateral"/>
					<xsd:element ref = "Diameter"/>
					<xsd:element ref = "MaximumMaterialConditionDiameter"/>
				</xsd:choice>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "UFont">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Glyph" maxOccurs = "unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "UnbalancedImpedance">
		<xsd:attribute name = "ohmValue" use = "required" type = "nonNegativeDouble"/>
		<xsd:attribute name = "negTol" type = "nonNegativeDouble"/>
		<xsd:attribute name = "posTol" type = "nonNegativeDouble"/>
		<xsd:attribute name = "routePlaneRef" use = "required" type = "routeRefType"/>
	</xsd:complexType>
	<xsd:complexType name = "Units">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "length" use = "optional" type = "lengthType"/>
				<xsd:attribute name = "angle" use = "optional" type = "angleType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "VectorGraphic" abstract = "true">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "colorRef" type = "colorRefType"/>
				<xsd:attribute name = "lineDescRef" type = "lineDescRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Via">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "Position"/>
				</xsd:sequence>
				<xsd:attribute name = "padStackRef" use = "required" type = "padStackRefType"/>
				<xsd:attribute name = "testPoint" type = "point"/>
				<xsd:attribute name = "accessDesc" use = "optional" type = "accessDescType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "ViaRef">
		<xsd:complexContent>
			<xsd:extension base = "BaseType">
				<xsd:attribute name = "viaRef" use = "required" type = "viaRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Well">
		<xsd:complexContent>
			<xsd:extension base = "NamedType">
				<xsd:sequence>
					<xsd:element ref = "ClosedShape"/>
				</xsd:sequence>
				<xsd:attribute name = "nominalAngle" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "surface" use = "required" type = "surfaceType"/>
				<xsd:attribute name = "cutMode" use = "required" type = "cutModeType"/>
				<xsd:attribute name = "remValue" use = "required" type = "nonNegativeDouble"/>
				<xsd:attribute name = "barrelDescRef" type = "barrelDescRefType"/>
				<xsd:attribute name = "profileTolRef" type = "profileTolRefType"/>
				<xsd:attribute name = "locationTolRef" type = "locationTolRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name = "Xform">
		<xsd:attribute name = "x" use = "optional" type = "xsd:double"/>
		<xsd:attribute name = "y" use = "optional" type = "xsd:double"/>
		<xsd:attribute name = "rotation" type = "nonNegativeDouble"/>
		<xsd:attribute name = "mirror" use = "optional" type = "mirrorType"/>
		<xsd:attribute name = "scale" type = "scaleType"/>
	</xsd:complexType>
	<xsd:element name = "Changes" type = "Changes"/>
	<xsd:complexType name = "Changes">
		<xsd:sequence>
			<xsd:element ref = "Revision" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name = "Revision">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Change" maxOccurs = "unbounded"/>
			</xsd:sequence>
			<xsd:attribute name = "historyNumber" use = "required" type = "historyNumberType"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Change" type = "Change"/>
	<xsd:complexType name = "Change">
		<xsd:complexContent>
			<xsd:extension base = "anyType">
				<xsd:attribute name = "action" use = "required" type = "actionType"/>
				<xsd:attribute name = "target" use = "required" type = "xpath"/>
				<xsd:attribute name = "timestamp" type = "xsd:dateTime"/>
				<xsd:attribute name = "personRef" use = "optional" type = "personRefType"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name = "PowerSupplies" type = "PowerSupplies"/>
</xsd:schema>