app
Fusion - the Fusion 360 Bridge
Public Made by Adomby adom
Drive Autodesk Fusion 360 from the cloud via Adom Bridge: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling.
master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111
<?xml version="1.0" encoding="UTF-8"?>
<!-- Schema File for IPC-2581 revision C -->
<xsd:schema xmlns="http://webstds.ipc.org/2581" xmlns:tn="http://webstds.ipc.org/2581" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://webstds.ipc.org/2581">
<xsd:simpleType name="angleType">
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0.00"/>
<xsd:maxExclusive value="360.00"/>
<xsd:totalDigits value="3"/>
<xsd:fractionDigits value="2"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="backdrillListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="START_LAYER"/>
<xsd:enumeration value="MUST_NOT_CUT_LAYER"/>
<xsd:enumeration value="MAX_STUB_LENGTH"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="bendSideType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TOP"/>
<xsd:enumeration value="BOTTOM"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="bomCategoryType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ELECTRICAL"/>
<xsd:enumeration value="PROGRAMMABLE"/>
<xsd:enumeration value="MECHANICAL"/>
<xsd:enumeration value="MATERIAL"/>
<xsd:enumeration value="DOCUMENT"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="boardTechnologyType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="RIGID"/>
<xsd:enumeration value="RIGID_FLEX"/>
<xsd:enumeration value="FLEX"/>
<xsd:enumeration value="HDI"/>
<xsd:enumeration value="EMBEDDED_COMPONENT"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="butterflyShapeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ROUND"/>
<xsd:enumeration value="SQUARE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="cadPinType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="THRU"/>
<xsd:enumeration value="BLIND"/>
<xsd:enumeration value="SURFACE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="cadPropertyType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DOUBLE"/>
<xsd:enumeration value="INTEGER"/>
<xsd:enumeration value="BOOLEAN"/>
<xsd:enumeration value="STRING"/>
</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:enumeration value="EMBEDDEDCOMPONENT"/>
<xsd:enumeration value="OTHER"/>
</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="complianceListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ROHS"/>
<xsd:enumeration value="CONFLICT_MINERALS"/>
<xsd:enumeration value="WEEE"/>
<xsd:enumeration value="REACH"/>
<xsd:enumeration value="HALOGEN_FREE"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="conductorListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="CONDUCTIVITY"/>
<xsd:enumeration value="SURFACE_ROUGHNESS_UPFACING"/>
<xsd:enumeration value="SURFACE_ROUGHNESS_DOWNFACING"/>
<xsd:enumeration value="SURFACE_ROUGHNESS_TREATED"/>
<xsd:enumeration value="ETCH_FACTOR"/>
<xsd:enumeration value="FINISHED_HEIGHT"/>
<xsd:enumeration value="WEIGHT"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="conductorMaterialType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="COPPER"/>
<xsd:enumeration value="SILVER_INK"/>
<xsd:enumeration value="CARBON_INK"/>
<xsd:enumeration value="CONDUCTIVE_INK"/>
<xsd:enumeration value="GRAPHENE"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="constraintTypeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="MIN"/>
<xsd:enumeration value="MAX"/>
<xsd:enumeration value="NONE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="colorListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BLACK"/>
<xsd:enumeration value="WHITE"/>
<xsd:enumeration value="RED"/>
<xsd:enumeration value="GREEN"/>
<xsd:enumeration value="YELLOW"/>
<xsd:enumeration value="BLUE"/>
<xsd:enumeration value="BROWN"/>
<xsd:enumeration value="ORANGE"/>
<xsd:enumeration value="PINK"/>
<xsd:enumeration value="PURPLE"/>
<xsd:enumeration value="GRAY"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="contextType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BOARD"/>
<xsd:enumeration value="BOARDPANEL"/>
<xsd:enumeration value="ASSEMBLY"/>
<xsd:enumeration value="ASSEMBLYPALLET"/>
<xsd:enumeration value="DOCUMENTATION"/>
<xsd:enumeration value="TOOLING"/>
<xsd:enumeration value="COUPON"/>
<xsd:enumeration value="MISCELLANEOUS"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="dfxCategoryType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="COMPONENT"/>
<xsd:enumeration value="BOARDFAB"/>
<xsd:enumeration value="ASSEMBLY"/>
<xsd:enumeration value="STACKUP"/>
<xsd:enumeration value="TESTING"/>
<xsd:enumeration value="DATAQUALITY"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="dfxResponseChoices">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="YES"/>
<xsd:enumeration value="NO"/>
<xsd:enumeration value="APPROVED"/>
<xsd:enumeration value="CONDITIONALLY_APPROVED"/>
<xsd:enumeration value="REJECTED"/>
<xsd:enumeration value="WAIVED"/>
<xsd:enumeration value="IGNORE"/>
<xsd:enumeration value="OPEN"/>
<xsd:enumeration value="CLOSED"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="dielectricListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DIELECTRIC_CONSTANT"/>
<xsd:enumeration value="LOSS_TANGENT"/>
<xsd:enumeration value="GLASS_STYLE"/>
<xsd:enumeration value="RESIN_CONTENT"/>
<xsd:enumeration value="Tg_DSC"/>
<xsd:enumeration value="Tg_DMA"/>
<xsd:enumeration value="Tg_TMA"/>
<xsd:enumeration value="Td"/>
<xsd:enumeration value="SLASH_NUM_IPC4101"/>
<xsd:enumeration value="SLASH_NUM_IPC4103"/>
<xsd:enumeration value="PRODUCT_NAME"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="donutShapeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ROUND"/>
<xsd:enumeration value="SQUARE"/>
<xsd:enumeration value="HEXAGON"/>
<xsd:enumeration value="OCTAGON"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="embeddedTypeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="IMAGE"/>
<xsd:enumeration value="FIRMWARE"/>
<xsd:enumeration value="EXECUTABLE"/>
<xsd:enumeration value="DOCUMENT"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="toolListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="CARBIDE"/>
<xsd:enumeration value="ROUTER"/>
<xsd:enumeration value="LASER"/>
<xsd:enumeration value="PLASMA"/>
<xsd:enumeration value="PUNCH"/>
<xsd:enumeration value="FLATNOSE"/>
<xsd:enumeration value="EXTENSION"/>
<xsd:enumeration value="V_CUTTER"/>
<xsd:enumeration value="SCREWDRIVER"/>
<xsd:enumeration value="WRENCH"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="toolPropertyListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DRILL_SIZE"/>
<xsd:enumeration value="FINISHED_SIZE"/>
<xsd:enumeration value="BIT_ANGLE"/>
<xsd:enumeration value="TORQUE"/>
<xsd:enumeration value="HEX_NUT_SIZE"/>
<xsd:enumeration value="PHILIPS_HEAD"/>
<xsd:enumeration value="FLAT_HEAD"/>
<xsd:enumeration value="OTHER"/>
</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="exposureType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="EXPOSED"/>
<xsd:enumeration value="COVERED_PRIMARY"/>
<xsd:enumeration value="COVERED_SECONDARY"/>
<xsd:enumeration value="COVERED"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="featureObjectType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="PAD"/>
<xsd:enumeration value="SHAPE"/>
<xsd:enumeration value="POLYGON"/>
<xsd:enumeration value="DRILL/HOLE"/>
<xsd:enumeration value="CUTOUT"/>
<xsd:enumeration value="OUTLINE"/>
<xsd:enumeration value="TEXT"/>
<xsd:enumeration value="SLOT"/>
<xsd:enumeration value="CAVITY"/>
<xsd:enumeration value="ZONE"/>
<xsd:enumeration value="BEND"/>
<xsd:enumeration value="PORT"/>
<xsd:enumeration value="MILLING"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="flexListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ADHESIVE_SQUEEZE_OUT"/>
<xsd:enumeration value="DIELECTRIC_SQUEEZE_OUT"/>
<xsd:enumeration value="STRESS_RELIEF_FILLET_WIDTH"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="foilTypeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="CU-E1"/>
<xsd:enumeration value="CU-E2"/>
<xsd:enumeration value="CU-E3"/>
<xsd:enumeration value="CU-W5"/>
<xsd:enumeration value="CU-W6"/>
<xsd:enumeration value="CU-W7"/>
<xsd:enumeration value="CU-W8"/>
<xsd:enumeration value="NI/E1"/>
<xsd:enumeration value="CU-E10"/>
<xsd:enumeration value="CU-E11"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="surfaceFinishType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"/>
<xsd:enumeration value="b1"/>
<xsd:enumeration value="T"/>
<xsd:enumeration value="X"/>
<xsd:enumeration value="TLU"/>
<xsd:enumeration value="G"/>
<xsd:enumeration value="GS"/>
<xsd:enumeration value="GWB-1-G"/>
<xsd:enumeration value="GWB-1-N"/>
<xsd:enumeration value="GWB-2-G"/>
<xsd:enumeration value="GWB-2-N"/>
<xsd:enumeration value="N"/>
<xsd:enumeration value="NB"/>
<xsd:enumeration value="OSP"/>
<xsd:enumeration value="HT_OSP"/>
<xsd:enumeration value="ENIG-N"/>
<xsd:enumeration value="ENIG-G"/>
<xsd:enumeration value="ENEPIG-N"/>
<xsd:enumeration value="ENEPIG-G"/>
<xsd:enumeration value="ENEPIG-P"/>
<xsd:enumeration value="DIG"/>
<xsd:enumeration value="IAg"/>
<xsd:enumeration value="ISn"/>
<xsd:enumeration value="C"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="floorLifeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="UNLIMITED"/>
<xsd:enumeration value="1_YEAR"/>
<xsd:enumeration value="4_WEEKS"/>
<xsd:enumeration value="168_HOURS"/>
<xsd:enumeration value="72_HOURS"/>
<xsd:enumeration value="48_HOURS"/>
<xsd:enumeration value="24_HOURS"/>
<xsd:enumeration value="BAKE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="geometryUsageType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="THIEVING"/>
<xsd:enumeration value="THERMAL_RELIEF"/>
<xsd:enumeration value="TEXT"/>
<xsd:enumeration value="TEARDROP"/>
<xsd:enumeration value="GRAPHIC"/>
<xsd:enumeration value="NONE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="generalListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ELECTRICAL"/>
<xsd:enumeration value="THERMAL"/>
<xsd:enumeration value="MATERIAL"/>
<xsd:enumeration value="INSTRUCTION"/>
<xsd:enumeration value="STANDARD"/>
<xsd:enumeration value="CONFIGURATION"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</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="holeShapeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="CIRCLE"/>
<xsd:enumeration value="SQUARE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="impedanceListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="IMPEDANCE"/>
<xsd:enumeration value="LINEWIDTH"/>
<xsd:enumeration value="SPACING"/>
<xsd:enumeration value="REF_PLANE_LAYER_ID"/>
<xsd:enumeration value="COPLANAR_GROUND_SPACING"/>
<xsd:enumeration value="OTHER"/>
</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="layerFunctionType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ASSEMBLY"/>
<xsd:enumeration value="BOARDFAB"/>
<xsd:enumeration value="BOARD_OUTLINE"/>
<xsd:enumeration value="CAPACITIVE"/>
<xsd:enumeration value="COATINGCOND"/>
<xsd:enumeration value="COATINGNONCOND"/>
<xsd:enumeration value="COMPONENT"/>
<xsd:enumeration value="COMPONENT_BOTTOM"/>
<xsd:enumeration value="COMPONENT_TOP"/>
<xsd:enumeration value="COMPONENT_EMBEDDED"/>
<xsd:enumeration value="COMPONENT_FORMED"/>
<xsd:enumeration value="CONDFILM"/>
<xsd:enumeration value="CONDFOIL"/>
<xsd:enumeration value="CONDUCTIVE_ADHESIVE"/>
<xsd:enumeration value="CONDUCTOR"/>
<xsd:enumeration value="COURTYARD"/>
<xsd:enumeration value="DIELBASE"/>
<xsd:enumeration value="DIELCORE"/>
<xsd:enumeration value="DIELPREG"/>
<xsd:enumeration value="DIELADHV"/>
<xsd:enumeration value="DIELBONDPLY"/>
<xsd:enumeration value="DIELCOVERLAY"/>
<xsd:enumeration value="DOCUMENT"/>
<xsd:enumeration value="DRILL"/>
<xsd:enumeration value="FIXTURE"/>
<xsd:enumeration value="GLUE"/>
<xsd:enumeration value="GRAPHIC"/>
<xsd:enumeration value="HOLEFILL"/>
<xsd:enumeration value="SOLDERBUMP"/>
<xsd:enumeration value="PASTEMASK"/>
<xsd:enumeration value="LANDPATTERN"/>
<xsd:enumeration value="LEGEND"/>
<xsd:enumeration value="MIXED"/>
<xsd:enumeration value="OTHER"/>
<xsd:enumeration value="PIN"/>
<xsd:enumeration value="PLANE"/>
<xsd:enumeration value="PROBE"/>
<xsd:enumeration value="RESISTIVE"/>
<xsd:enumeration value="SIGNAL"/>
<xsd:enumeration value="SILKSCREEN"/>
<xsd:enumeration value="SOLDERMASK"/>
<xsd:enumeration value="SOLDERPASTE"/>
<xsd:enumeration value="STACKUP_COMPOSITE"/>
<xsd:enumeration value="REWORK"/>
<xsd:enumeration value="ROUT"/>
<xsd:enumeration value="V_CUT"/>
<xsd:enumeration value="EDGE_CHAMFER"/>
<xsd:enumeration value="EDGE_PLATING"/>
<xsd:enumeration value="THIEVING_KEEP_INOUT"/>
<xsd:enumeration value="STIFFENER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="lengthUnitType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="MM"/>
<xsd:enumeration value="INCH"/>
<xsd:enumeration value="MICRON"/>
<xsd:enumeration value="MILS"/>
</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="fillPropertyType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="HOLLOW"/>
<xsd:enumeration value="HATCH"/>
<xsd:enumeration value="MESH"/>
<xsd:enumeration value="FILL"/>
<xsd:enumeration value="VOID"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="linePropertyType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SOLID"/>
<xsd:enumeration value="DOTTED"/>
<xsd:enumeration value="DASHED"/>
<xsd:enumeration value="CENTER"/>
<xsd:enumeration value="PHANTOM"/>
<xsd:enumeration value="ERASE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="lossListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ATTENUATION"/>
<xsd:enumeration value="IMPEDANCE"/>
<xsd:enumeration value="INSERTION"/>
<xsd:enumeration value="POWER"/>
<xsd:enumeration value="SIGNAL"/>
<xsd:enumeration value="VOLTAGE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="markingUsageType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="REFDES"/>
<xsd:enumeration value="PARTNAME"/>
<xsd:enumeration value="TARGET"/>
<xsd:enumeration value="POLARITY_MARKING"/>
<xsd:enumeration value="ATTRIBUTE_GRAPHICS"/>
<xsd:enumeration value="PIN_ONE"/>
<xsd:enumeration value="NONE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="measurementModeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DISTANCE"/>
<xsd:enumeration value="AREA"/>
<xsd:enumeration value="RESISTANCE"/>
<xsd:enumeration value="CAPACITANCE"/>
<xsd:enumeration value="IMPEDANCE"/>
<xsd:enumeration value="INDUCTANCE"/>
<xsd:enumeration value="VOLTAGE_DC"/>
<xsd:enumeration value="VOLTAGE_AC"/>
<xsd:enumeration value="FREQUENCY"/>
<xsd:enumeration value="CURRENT"/>
<xsd:enumeration value="POWER"/>
<xsd:enumeration value="PERCENTAGE"/>
<xsd:enumeration value="SIZE"/>
<xsd:enumeration value="NONE"/>
<xsd:enumeration value="TEXT"/>
<xsd:enumeration value="TOLERANCE"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="modeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="USERDEF"/>
<xsd:enumeration value="BOM"/>
<xsd:enumeration value="STACKUP"/>
<xsd:enumeration value="FABRICATION"/>
<xsd:enumeration value="ASSEMBLY"/>
<xsd:enumeration value="TEST"/>
<xsd:enumeration value="STENCIL"/>
<xsd:enumeration value="DFX"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="mountType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SMT"/>
<xsd:enumeration value="THMT"/>
<xsd:enumeration value="EMBEDDED"/>
<xsd:enumeration value="PRESSFIT"/>
<xsd:enumeration value="WIRE_BONDED"/>
<xsd:enumeration value="GLUED"/>
<xsd:enumeration value="CLAMPED"/>
<xsd:enumeration value="SOCKETED"/>
<xsd:enumeration value="FORMED"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="pinPolarityType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="PLUS"/>
<xsd:enumeration value="MINUS"/>
<xsd:enumeration value="ANODE"/>
<xsd:enumeration value="CATHODE"/>
</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="netFunctionType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="INPUT"/>
<xsd:enumeration value="OUTPUT"/>
<xsd:enumeration value="BIDIRECTIONAL"/>
<xsd:enumeration value="POWER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="netPointType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="END"/>
<xsd:enumeration value="MIDDLE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="nonNegativeDoubleType">
<xsd:restriction base="xsd:double">
<xsd:minInclusive value="0.0"/>
</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="FINEPITCH_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:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="padUsageType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TERMINATION"/>
<xsd:enumeration value="VIA"/>
<xsd:enumeration value="PLANE"/>
<xsd:enumeration value="MASK"/>
<xsd:enumeration value="TOOLING_HOLE"/>
<xsd:enumeration value="THIEVING"/>
<xsd:enumeration value="THERMAL_RELIEF"/>
<xsd:enumeration value="FIDUCIAL"/>
<xsd:enumeration value="NONE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="padUseType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="REGULAR"/>
<xsd:enumeration value="ANTIPAD"/>
<xsd:enumeration value="THERMAL"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="pinElectricalType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ELECTRICAL"/>
<xsd:enumeration value="MECHANICAL"/>
<xsd:enumeration value="UNDEFINED"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="pinMountType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SURFACE_MOUNT_PIN"/>
<xsd:enumeration value="SURFACE_MOUNT_PAD"/>
<xsd:enumeration value="THROUGH_HOLE_PIN"/>
<xsd:enumeration value="THROUGH_HOLE_HOLE"/>
<xsd:enumeration value="PRESSFIT"/>
<xsd:enumeration value="NONBOARD"/>
<xsd:enumeration value="HOLE"/>
<xsd:enumeration value="WIRE_BOND"/>
<xsd:enumeration value="UNDEFINED"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="pinOneOrientationType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="LOWER_LEFT"/>
<xsd:enumeration value="LEFT"/>
<xsd:enumeration value="LEFT_CENTER"/>
<xsd:enumeration value="UPPER_LEFT"/>
<xsd:enumeration value="UPPER_CENTER"/>
<xsd:enumeration value="UPPER_RIGHT"/>
<xsd:enumeration value="RIGHT"/>
<xsd:enumeration value="RIGHT_CENTER"/>
<xsd:enumeration value="LOWER_RIGHT"/>
<xsd:enumeration value="LOWER_CENTER"/>
<xsd:enumeration value="CENTER"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="polarityType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="POSITIVE"/>
<xsd:enumeration value="NEGATIVE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="portPhysicalType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="COMPONENT"/>
<xsd:enumeration value="CONNECTOR"/>
<xsd:enumeration value="WIRE_BOND"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="productCriteriaType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ALLOWED"/>
<xsd:enumeration value="SUGGESTED"/>
<xsd:enumeration value="PREFERRED"/>
<xsd:enumeration value="REQUIRED"/>
<xsd:enumeration value="CHOSEN"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="propertyUnitType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="MM"/>
<xsd:enumeration value="INCH"/>
<xsd:enumeration value="MICRON"/>
<xsd:enumeration value="MILS"/>
<xsd:enumeration value="OHMS"/>
<xsd:enumeration value="MHO/CM"/>
<xsd:enumeration value="SIEMENS/M"/>
<xsd:enumeration value="CELCIUS"/>
<xsd:enumeration value="FARANHEIT"/>
<xsd:enumeration value="PERCENT"/>
<xsd:enumeration value="Hz"/>
<xsd:enumeration value="DEGREES"/>
<xsd:enumeration value="RMAX"/>
<xsd:enumeration value="RZ"/>
<xsd:enumeration value="RMS"/>
<xsd:enumeration value="SECTION"/>
<xsd:enumeration value="CLASS"/>
<xsd:enumeration value="ITEM"/>
<xsd:enumeration value="GAUGE"/>
<xsd:enumeration value="IN-LB"/>
<xsd:enumeration value="IN-OZ"/>
<xsd:enumeration value="FT-LB"/>
<xsd:enumeration value="N-m"/>
<xsd:enumeration value="N-cm"/>
<xsd:enumeration value="MIN"/>
<xsd:enumeration value="MAX"/>
<xsd:enumeration value="OZ"/>
<xsd:enumeration value="OZ/SQ-FT"/>
<xsd:enumeration value="GRAMS"/>
<xsd:enumeration value="HENRYS"/>
<xsd:enumeration value="AMPS"/>
<xsd:enumeration value="WATTS"/>
<xsd:enumeration value="VOLTS"/>
<xsd:enumeration value="FARAD"/>
<xsd:enumeration value="dB"/>
<xsd:enumeration value="dB/INCH"/>
<xsd:enumeration value="dB/MM"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="qualifiedNameType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="([^:]+)(:[^:]+)?"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="roleFunctionType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SENDER"/>
<xsd:enumeration value="OWNER"/>
<xsd:enumeration value="RECEIVER"/>
<xsd:enumeration value="DESIGNER"/>
<xsd:enumeration value="ENGINEER"/>
<xsd:enumeration value="BUYER"/>
<xsd:enumeration value="CUSTOMERSERVICE"/>
<xsd:enumeration value="DELIVERTO"/>
<xsd:enumeration value="BILLTO"/>
<xsd:enumeration value="OTHER"/>
</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="secondaryDrillListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="MAJOR_DIAMETER"/>
<xsd:enumeration value="DEPTH"/>
<xsd:enumeration value="SIDE"/>
<xsd:enumeration value="ANGLE"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="sectionKeyType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[ABCDEFGIKLMOPRSUXY]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="sideType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TOP"/>
<xsd:enumeration value="BOTTOM"/>
<xsd:enumeration value="BOTH"/>
<xsd:enumeration value="INTERNAL"/>
<xsd:enumeration value="ALL"/>
<xsd:enumeration value="NONE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="spokeCountType">
<xsd:restriction base="xsd:integer">
<xsd:maxInclusive value="4"/>
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="stackupStatusType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SPECIFIED"/>
<xsd:enumeration value="PROPOSED"/>
<xsd:enumeration value="APPROVED"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="stepType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BOARD"/>
<xsd:enumeration value="PALLET"/>
<xsd:enumeration value="IC"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="platingStatusType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="PLATED"/>
<xsd:enumeration value="NONPLATED"/>
<xsd:enumeration value="VIA"/>
<xsd:enumeration value="VIA_CAPPED"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="structureListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="STRIPLINE_SYMMETRIC"/>
<xsd:enumeration value="STRIPLINE_ASYMMETRIC"/>
<xsd:enumeration value="STRIPLINE_PLANE_LESS"/>
<xsd:enumeration value="MICROSTRIP_EMBEDDED"/>
<xsd:enumeration value="MICROSTRIP_NO_MASK "/>
<xsd:enumeration value="MICROSTRIP_MASK_COVERED"/>
<xsd:enumeration value="MICROSTRIP_DUAL_MASKED_COVERED"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="coplanarListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="COPLANAR_WAVEGUIDE_STRIPLINE"/>
<xsd:enumeration value="COPLANAR_WAVEGUIDE_EMBEDDED"/>
<xsd:enumeration value="COPLANAR_WAVEGUIDE_NO_MASK"/>
<xsd:enumeration value="COPLANAR_WAVEGUIDE_MASK_COVERED"/>
<xsd:enumeration value="COPLANAR_WAVEGUIDE_DUAL_MASKED_COVERED"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="broadsideListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="STRIPLINE_SYMMETRIC"/>
<xsd:enumeration value="STRIPLINE_ASYMMETRIC"/>
<xsd:enumeration value="STRIPLINE_PLANE_LESS"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="technologyListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="RIGID"/>
<xsd:enumeration value="RIGID_FLEX"/>
<xsd:enumeration value="FLEX"/>
<xsd:enumeration value="HDI"/>
<xsd:enumeration value="EMBEDDED_COMPONENT"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="temperatureListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="THERMAL_DELAMINATION"/>
<xsd:enumeration value="EXPANSION_Z_AXIS"/>
<xsd:enumeration value="EXPANSION_X_Y_AXIS"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="thermalShapeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ROUND"/>
<xsd:enumeration value="SQUARE"/>
<xsd:enumeration value="HEXAGON"/>
<xsd:enumeration value="OCTAGON"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="thievingListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="KEEP_IN"/>
<xsd:enumeration value="KEEP_OUT"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="transmissionListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SINGLE_ENDED"/>
<xsd:enumeration value="EDGE_COUPLED"/>
<xsd:enumeration value="BROADSIDE_COUPLED"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="unitModeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DISTANCE"/>
<xsd:enumeration value="AREA"/>
<xsd:enumeration value="RESISTANCE"/>
<xsd:enumeration value="CAPACITANCE"/>
<xsd:enumeration value="IMPEDANCE"/>
<xsd:enumeration value="PERCENTAGE"/>
<xsd:enumeration value="SIZE"/>
<xsd:enumeration value="NONE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="unitsType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="MILLIMETER"/>
<xsd:enumeration value="MICRON"/>
<xsd:enumeration value="INCH"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="unsignedByte">
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:maxInclusive value="255"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="vCutListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ANGLE"/>
<xsd:enumeration value="THICKNESS_REMAINING"/>
<xsd:enumeration value="OFFSET"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="edgeChamferListType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ANGLE"/>
<xsd:enumeration value="WIDTH"/>
<xsd:enumeration value="SIDE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="whereMeasuredType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="LAMINATE"/>
<xsd:enumeration value="METAL"/>
<xsd:enumeration value="MASK"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="Approval" type="ApprovalType"/>
<xsd:complexType name="ApprovalType">
<xsd:attribute name="datetime" type="xsd:dateTime" use="required"/>
<xsd:attribute name="personRef" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="Arc" type="ArcType" substitutionGroup="Simple"/>
<xsd:complexType name="ArcType">
<xsd:sequence>
<xsd:element ref="LineDescGroup"/>
</xsd:sequence>
<xsd:attribute name="startX" type="xsd:double" use="required"/>
<xsd:attribute name="startY" type="xsd:double" use="required"/>
<xsd:attribute name="endX" type="xsd:double" use="required"/>
<xsd:attribute name="endY" type="xsd:double" use="required"/>
<xsd:attribute name="centerX" type="xsd:double" use="required"/>
<xsd:attribute name="centerY" type="xsd:double" use="required"/>
<xsd:attribute name="clockwise" type="xsd:boolean" use="required"/>
</xsd:complexType>
<xsd:element name="AssemblyDrawing" type="AssemblyDrawingType"/>
<xsd:complexType name="AssemblyDrawingType">
<xsd:sequence>
<xsd:element ref="Outline"/>
<xsd:element ref="Marking" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Avl" type="AvlType"/>
<xsd:element name="AvlHeader" type="AvlHeaderType"/>
<xsd:complexType name="AvlHeaderType">
<xsd:attribute name="title" type="xsd:string" use="required"/>
<xsd:attribute name="source" type="xsd:string" use="required"/>
<xsd:attribute name="author" type="xsd:string" use="required"/>
<xsd:attribute name="datetime" type="xsd:dateTime" use="required"/>
<xsd:attribute name="version" type="xsd:positiveInteger" use="required"/>
<xsd:attribute name="comment" type="xsd:string"/>
<xsd:attribute name="modRef" type="modeType"/>
</xsd:complexType>
<xsd:element name="AvlItem" type="AvlItemType"/>
<xsd:complexType name="AvlItemType">
<xsd:sequence>
<xsd:element ref="AvlVmpn" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="OEMDesignNumber" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="AvlMpn" type="AvlMpnType"/>
<xsd:complexType name="AvlMpnType">
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="rank" type="xsd:nonNegativeInteger"/>
<xsd:attribute name="cost" type="nonNegativeDoubleType"/>
<xsd:attribute name="moistureSensitivity" type="floorLifeType"/>
<xsd:attribute name="availability" type="xsd:boolean"/>
<xsd:attribute name="other" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="AvlRef" type="AvlRefType"/>
<xsd:complexType name="AvlRefType">
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:complexType name="AvlType">
<xsd:sequence>
<xsd:element ref="AvlHeader"/>
<xsd:element ref="AvlItem" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="AvlVendor" type="AvlVendorType"/>
<xsd:complexType name="AvlVendorType">
<xsd:attribute name="enterpriseRef" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="AvlVmpn" type="AvlVmpnType"/>
<xsd:complexType name="AvlVmpnType">
<xsd:sequence>
<xsd:element ref="AvlMpn"/>
<xsd:element ref="AvlVendor"/>
</xsd:sequence>
<xsd:attribute name="evplVendor" type="xsd:string" use="optional"/>
<xsd:attribute name="evplMpn" type="xsd:string" use="optional"/>
<xsd:attribute name="qualified" type="xsd:boolean" use="optional"/>
<xsd:attribute name="chosen" type="xsd:boolean" use="optional"/>
</xsd:complexType>
<xsd:element name="BendArea" type="BendAreaType"/>
<xsd:complexType name="BendAreaType">
<xsd:sequence>
<xsd:element ref="CircularBend"/>
<xsd:element ref="Outline"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="sequenceNumber" type="xsd:integer" use="optional"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="BendLine" type="LineType"/>
<xsd:element name="BadBoardMark" type="FiducialType" substitutionGroup="Fiducial"/>
<xsd:element name="Bom" type="BomType"/>
<xsd:element name="BomHeader" type="BomHeaderType"/>
<xsd:complexType name="BomHeaderType">
<xsd:sequence>
<xsd:element ref="StepRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="assembly" type="xsd:string" use="required"/>
<xsd:attribute name="revision" type="xsd:string" use="required"/>
<xsd:attribute name="affecting" type="xsd:boolean"/>
</xsd:complexType>
<xsd:element name="BomItem" type="BomItemType"/>
<xsd:complexType name="BomItemType">
<xsd:sequence>
<xsd:element ref="BomDes" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Characteristics"/>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="OEMDesignNumberRef" type="xsd:string" use="required"/>
<xsd:attribute name="quantity" type="xsd:string" use="required"/>
<xsd:attribute name="pinCount" type="xsd:nonNegativeInteger" use="optional"/>
<xsd:attribute name="category" type="bomCategoryType" use="required"/>
<xsd:attribute name="internalPartNumber" type="xsd:string"/>
<xsd:attribute name="description" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="BomDes" abstract="true"/>
<xsd:element name="RefDes" type="RefDesType" substitutionGroup="BomDes"/>
<xsd:complexType name="RefDesType">
<xsd:sequence>
<xsd:element ref="Tuning" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Firmware" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="packageRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="populate" type="xsd:boolean"/>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="modelRef" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="MatDes" type="MatDesType" substitutionGroup="BomDes"/>
<xsd:complexType name="MatDesType">
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="DocDes" type="DocDesType" substitutionGroup="BomDes"/>
<xsd:complexType name="DocDesType">
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="ToolDes" type="ToolDesType" substitutionGroup="BomDes"/>
<xsd:complexType name="ToolDesType">
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="FindDes" type="FindDesType" substitutionGroup="BomDes"/>
<xsd:complexType name="FindDesType">
<xsd:attribute name="number" type="xsd:positiveInteger" use="required"/>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="modelRef" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="BomRef" type="BomRefType"/>
<xsd:complexType name="BomRefType">
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="BomType">
<xsd:sequence>
<xsd:element ref="BomHeader"/>
<xsd:element ref="BomItem" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="BoundingBox" type="BoundingBoxType"/>
<xsd:complexType name="BoundingBoxType">
<xsd:attribute name="lowerLeftX" type="xsd:double" use="required"/>
<xsd:attribute name="lowerLeftY" type="xsd:double" use="required"/>
<xsd:attribute name="upperRightX" type="xsd:double" use="required"/>
<xsd:attribute name="upperRightY" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="Butterfly" type="ButterflyType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="ButterflyType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="shape" type="butterflyShapeType" use="required"/>
<xsd:attribute name="diameter" type="nonNegativeDoubleType"/>
<xsd:attribute name="side" type="nonNegativeDoubleType"/>
</xsd:complexType>
<xsd:element name="CachedFirmware" type="CachedFirmwareType" substitutionGroup="FirmwareGroup"/>
<xsd:complexType name="CachedFirmwareType">
<xsd:attribute name="hexEncodedBinary" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="CadData" type="CadDataType"/>
<xsd:complexType name="CadDataType">
<xsd:sequence>
<xsd:element ref="Layer" maxOccurs="unbounded"/>
<xsd:element ref="Stackup" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Step" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="CadHeader" type="CadHeaderType"/>
<xsd:complexType name="CadHeaderType">
<xsd:sequence>
<xsd:element ref="Spec" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ChangeRec" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="units" type="unitsType" use="required"/>
</xsd:complexType>
<xsd:element name="Certification" type="CertificationType"/>
<xsd:complexType name="CertificationType">
<xsd:attribute name="certificationStatus" type="certificationStatusType" use="required"/>
<xsd:attribute name="certificationCategory" type="certificationCategoryType"/>
</xsd:complexType>
<xsd:element name="ChangeRec" type="ChangeRecType"/>
<xsd:complexType name="ChangeRecType">
<xsd:sequence>
<xsd:element ref="Approval" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="datetime" type="xsd:dateTime" use="required"/>
<xsd:attribute name="personRef" type="xsd:string" use="required"/>
<xsd:attribute name="application" type="xsd:string" use="required"/>
<xsd:attribute name="change" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="Characteristics" type="CharacteristicsType"/>
<xsd:complexType name="CharacteristicsType">
<xsd:sequence>
<xsd:element ref="Measured" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Ranged" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Enumerated" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Textual" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="category" type="bomCategoryType" use="required"/>
</xsd:complexType>
<xsd:element name="Circle" type="CircleType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="CircleType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="diameter" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="CircularBend" type="CircularBendType"/>
<xsd:complexType name="CircularBendType">
<xsd:sequence>
<xsd:element ref="BendLine"/>
</xsd:sequence>
<xsd:attribute name="innerSide" type="bendSideType" use="required"/>
<xsd:attribute name="innerRadius" type="xsd:double" use="required"/>
<xsd:attribute name="innerAngle" type="angleType"/>
</xsd:complexType>
<xsd:element name="Color" type="ColorType" substitutionGroup="ColorGroup"/>
<xsd:element name="ColorGroup" abstract="true"/>
<xsd:element name="ColorRef" type="ColorRefType" substitutionGroup="ColorGroup"/>
<xsd:complexType name="ColorRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:complexType name="ColorType">
<xsd:attribute name="r" type="unsignedByte" use="required"/>
<xsd:attribute name="g" type="unsignedByte" use="required"/>
<xsd:attribute name="b" type="unsignedByte" use="required"/>
</xsd:complexType>
<xsd:element name="ColorTerm" type="ColorTermType" substitutionGroup="ColorGroup"/>
<xsd:complexType name="ColorTermType">
<xsd:attribute name="name" type="colorListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Component" type="ComponentType"/>
<xsd:complexType name="ComponentType">
<xsd:sequence>
<xsd:element ref="NonstandardAttribute" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location"/>
<xsd:element ref="SlotCavityRef" minOccurs="0"/>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="refDes" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="matDes" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="packageRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="part" type="xsd:string" use="required"/>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="required"/>
<xsd:attribute name="layerRefTopside" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="mountType" type="mountType" use="required"/>
<xsd:attribute name="modelRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="weight" type="nonNegativeDoubleType"/>
<xsd:attribute name="height" type="nonNegativeDoubleType"/>
<xsd:attribute name="standoff" type="nonNegativeDoubleType"/>
</xsd:complexType>
<xsd:element name="Content" type="ContentType"/>
<xsd:complexType name="ContentType">
<xsd:sequence>
<xsd:element ref="FunctionMode"/>
<xsd:element ref="StepRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="LayerRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="BomRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="AvlRef" minOccurs="0"/>
<xsd:element ref="DictionaryColor" minOccurs="0"/>
<xsd:element ref="DictionaryLineDesc" minOccurs="0"/>
<xsd:element ref="DictionaryFillDesc" minOccurs="0"/>
<xsd:element ref="DictionaryFont" minOccurs="0"/>
<xsd:element ref="DictionaryStandard" minOccurs="0"/>
<xsd:element ref="DictionaryUser" minOccurs="0"/>
<xsd:element ref="DictionaryFirmware" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="roleRef" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="Contour" type="ContourType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="ContourType">
<xsd:sequence>
<xsd:element ref="Polygon"/>
<xsd:element ref="Cutout" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Criteria" type="CriteriaType"/>
<xsd:complexType name="CriteriaType">
<xsd:sequence>
<xsd:element ref="Property"/>
<xsd:element ref="DfxMeasurement" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="measurementMode" type="measurementModeType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Cutout" type="PolygonType"/>
<xsd:element name="Dfx" type="DfxType"/>
<xsd:complexType name="DfxType">
<xsd:sequence>
<xsd:element ref="Criteria" minOccurs="0"/>
<xsd:element ref="DfxQuery" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="category" type="dfxCategoryType" use="required"/>
</xsd:complexType>
<xsd:element name="DfxDetails" type="DfxDetailsType"/>
<xsd:complexType name="DfxDetailsType">
<xsd:sequence>
<xsd:element ref="FeatureDescription" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Marker" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="EmbeddedRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ExternalRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DfxMeasurement" type="DfxMeasurementType"/>
<xsd:complexType name="DfxMeasurementType">
<xsd:sequence>
<xsd:element ref="Property"/>
<xsd:element ref="MeasurementPoint" maxOccurs="unbounded"/>
<xsd:element ref="DfxDetails" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
<xsd:attribute name="severity" type="xsd:string" use="optional"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="DfxQuery" type="DfxQueryType"/>
<xsd:complexType name="DfxQueryType">
<xsd:sequence>
<xsd:element ref="DfxDetails" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="DfxResponse" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="query" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="DfxResponse" type="DfxResponseType"/>
<xsd:complexType name="DfxResponseType">
<xsd:sequence>
<xsd:element ref="DfxDetails" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="dfxMeasurementRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="response" type="dfxResponseChoices" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Diamond" type="DiamondType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="DiamondType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="width" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="height" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="DictionaryColor" type="DictionaryColorType"/>
<xsd:complexType name="DictionaryColorType">
<xsd:sequence>
<xsd:element ref="EntryColor" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DictionaryFirmware" type="DictionaryFirmwareType"/>
<xsd:complexType name="DictionaryFirmwareType">
<xsd:sequence>
<xsd:element ref="EntryFirmware" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DictionaryFont" type="DictionaryFontType"/>
<xsd:complexType name="DictionaryFontType">
<xsd:sequence>
<xsd:element ref="EntryFont" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="units" type="unitsType" use="required"/>
</xsd:complexType>
<xsd:element name="DictionaryLineDesc" type="DictionaryLineDescType"/>
<xsd:complexType name="DictionaryLineDescType">
<xsd:sequence>
<xsd:element ref="EntryLineDesc" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="units" type="unitsType" use="required"/>
</xsd:complexType>
<xsd:element name="DictionaryFillDesc" type="DictionaryFillDescType"/>
<xsd:complexType name="DictionaryFillDescType">
<xsd:sequence>
<xsd:element ref="EntryFillDesc" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="units" type="unitsType" use="required"/>
</xsd:complexType>
<xsd:element name="DictionaryStandard" type="DictionaryStandardType"/>
<xsd:complexType name="DictionaryStandardType">
<xsd:sequence>
<xsd:element ref="EntryStandard" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="units" type="unitsType" use="required"/>
</xsd:complexType>
<xsd:element name="DictionaryUser" type="DictionaryUserType"/>
<xsd:complexType name="DictionaryUserType">
<xsd:sequence>
<xsd:element ref="EntryUser" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="units" type="unitsType" use="required"/>
</xsd:complexType>
<xsd:element name="Donut" type="DonutType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="DonutType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="shape" type="donutShapeType" use="required"/>
<xsd:attribute name="outerDiameter" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="innerDiameter" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="Ecad" type="EcadType"/>
<xsd:complexType name="EcadType">
<xsd:sequence>
<xsd:element ref="CadHeader"/>
<xsd:element ref="CadData" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="EdgeCoupled" type="EdgeCoupledType" substitutionGroup="TransmissionType"/>
<xsd:complexType name="EdgeCoupledType">
<xsd:sequence>
<xsd:element ref="LineWidth"/>
<xsd:element ref="LineGap"/>
<xsd:element ref="RefPlane" minOccurs="0" maxOccurs="2"/>
</xsd:sequence>
<xsd:attribute name="structure" type="structureListType" use="required"/>
</xsd:complexType>
<xsd:element name="Ellipse" type="EllipseType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="EllipseType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="width" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="height" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="EmbeddedData" type="xsd:base64Binary"/>
<xsd:element name="EmbeddedRef" type="EmbeddedRefType"/>
<xsd:complexType name="EmbeddedRefType">
<xsd:sequence>
<xsd:element ref="EmbeddedData"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="embeddedType" type="embeddedTypeType" use="required"/>
</xsd:complexType>
<xsd:element name="Enterprise" type="EnterpriseType"/>
<xsd:complexType name="EnterpriseType">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="code" type="xsd:string" use="required"/>
<xsd:attribute name="codeType" type="enterpriseCodeType"/>
<xsd:attribute name="address1" type="xsd:string"/>
<xsd:attribute name="address2" type="xsd:string"/>
<xsd:attribute name="city" type="xsd:string"/>
<xsd:attribute name="stateProvince" type="xsd:string"/>
<xsd:attribute name="country" 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" type="xsd:anyURI"/>
</xsd:complexType>
<xsd:element name="EntryColor" type="EntryColorType"/>
<xsd:complexType name="EntryColorType">
<xsd:sequence>
<xsd:element ref="Color"/>
</xsd:sequence>
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="EntryFirmware" type="EntryFirmwareType"/>
<xsd:complexType name="EntryFirmwareType">
<xsd:sequence>
<xsd:element ref="CachedFirmware"/>
</xsd:sequence>
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="EntryFont" type="EntryFontType"/>
<xsd:complexType name="EntryFontType">
<xsd:sequence>
<xsd:element ref="FontDef"/>
</xsd:sequence>
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="EntryLineDesc" type="EntryLineDescType"/>
<xsd:complexType name="EntryLineDescType">
<xsd:sequence>
<xsd:element ref="LineDesc"/>
</xsd:sequence>
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="EntryFillDesc" type="EntryFillDescType"/>
<xsd:complexType name="EntryFillDescType">
<xsd:sequence>
<xsd:element ref="FillDesc"/>
</xsd:sequence>
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="EntryStandard" type="EntryStandardType"/>
<xsd:complexType name="EntryStandardType">
<xsd:sequence>
<xsd:element ref="StandardPrimitive"/>
</xsd:sequence>
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="EntryUser" type="EntryUserType"/>
<xsd:complexType name="EntryUserType">
<xsd:sequence>
<xsd:element ref="UserPrimitive"/>
</xsd:sequence>
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="Enumerated" type="EnumeratedType"/>
<xsd:complexType name="EnumeratedType">
<xsd:attribute name="definitionSource" type="xsd:string"/>
<xsd:attribute name="enumeratedCharacteristicName" type="xsd:string"/>
<xsd:attribute name="enumeratedCharacteristicValue" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="ExternalRef" type="xsd:anyURI"/>
<xsd:element name="Extrusion" type="ExtrusionType"/>
<xsd:complexType name="ExtrusionType">
<xsd:sequence>
<xsd:element ref="Feature" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="Location" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="Xform" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="startHeight" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="height" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="Feature" abstract="true"/>
<xsd:element name="FeatureDescription" type="FeatureDescriptionType"/>
<xsd:complexType name="FeatureDescriptionType">
<xsd:sequence>
<xsd:element ref="Feature" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="Xform" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="Location" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="pinRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="componentRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="packageRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="specRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="firmwareRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="padstackDefRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="netRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="stackupRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="bomRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="featureObject" type="featureObjectType" use="optional"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
<!--xsd:attribute name = "featureRef" use = "required" type = "qualifiedNameType"/-->
</xsd:complexType>
<xsd:element name="Features" type="FeaturesType"/>
<xsd:complexType name="FeaturesType">
<xsd:sequence>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Feature"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Fiducial" abstract="true"/>
<xsd:complexType name="FiducialType">
<xsd:sequence>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location"/>
<xsd:element ref="StandardShape"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="File" type="FileType"/>
<xsd:element name="FileRevision" type="FileRevisionType"/>
<xsd:complexType name="FileRevisionType">
<xsd:sequence>
<xsd:element ref="SoftwarePackage"/>
</xsd:sequence>
<xsd:attribute name="fileRevisionId" type="xsd:string" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="required"/>
<xsd:attribute name="label" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="FileType">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="crc" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="Firmware" type="FirmwareType"/>
<xsd:element name="FirmwareGroup" abstract="true"/>
<xsd:element name="FirmwareRef" type="FirmwareRefType" substitutionGroup="FirmwareGroup"/>
<xsd:complexType name="FirmwareRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:complexType name="FirmwareType">
<xsd:sequence>
<xsd:element ref="File"/>
<xsd:element ref="FirmwareGroup"/>
</xsd:sequence>
<xsd:attribute name="progName" type="qualifiedNameType" use="required"/>
<xsd:attribute name="progVersion" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="FontDef" abstract="true"/>
<xsd:element name="FontDefEmbedded" type="FontDefEmbeddedType" substitutionGroup="FontDef"/>
<xsd:complexType name="FontDefEmbeddedType">
<xsd:sequence>
<xsd:element ref="LineDescGroup"/>
<xsd:element ref="Glyph" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="FontDefExternal" type="FontDefExternalType" substitutionGroup="FontDef"/>
<xsd:complexType name="FontDefExternalType">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="urn" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="FontRef" type="FontRefType"/>
<xsd:complexType name="FontRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="FunctionMode" type="FunctionModeType"/>
<xsd:complexType name="FunctionModeType">
<xsd:attribute name="mode" type="modeType" use="required"/>
<xsd:attribute name="sectionKey" type="sectionKeyType" use="optional"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="GlobalFiducial" type="FiducialType" substitutionGroup="Fiducial"/>
<xsd:element name="Glyph" type="GlyphType"/>
<xsd:complexType name="GlyphType">
<xsd:sequence>
<xsd:element ref="Simple" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="charCode" type="xsd:hexBinary" use="required"/>
<xsd:attribute name="lowerLeftX" type="xsd:double" use="required"/>
<xsd:attribute name="lowerLeftY" type="xsd:double" use="required"/>
<xsd:attribute name="upperRightX" type="xsd:double" use="required"/>
<xsd:attribute name="upperRightY" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="GoodPanelMark" type="FiducialType" substitutionGroup="Fiducial"/>
<xsd:element name="Hexagon" type="HexagonType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="HexagonType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="length" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="HistoryRecord" type="HistoryRecordType"/>
<xsd:complexType name="HistoryRecordType">
<xsd:sequence>
<xsd:element ref="FileRevision"/>
<xsd:element ref="ChangeRec" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="number" type="historyNumberType" use="required"/>
<xsd:attribute name="origination" type="xsd:dateTime" use="required"/>
<xsd:attribute name="software" type="xsd:string" use="required"/>
<xsd:attribute name="lastChange" type="xsd:dateTime" use="required"/>
<xsd:attribute name="lifecyclePhase" type="xsd:string" use="optional"/>
<xsd:attribute name="externalConfigurationEntryPoint" type="xsd:anyURI"/>
</xsd:complexType>
<xsd:element name="Hole" type="HoleType"/>
<xsd:complexType name="HoleType">
<xsd:sequence>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Xform" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="type" type="holeShapeType" use="optional" default="CIRCLE"/>
<xsd:attribute name="diameter" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="platingStatus" type="platingStatusType" use="required"/>
<xsd:attribute name="plusTol" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="minusTol" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="x" type="xsd:double" use="required"/>
<xsd:attribute name="y" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="IPC-2581" type="IPC-2581Type">
<xsd:key name="enterpriseKey">
<xsd:selector xpath="tn:LogisticHeader/tn:Enterprise"/>
<xsd:field xpath="@id"/>
</xsd:key>
<xsd:keyref name="enterpriseKeyRef" refer="enterpriseKey">
<xsd:selector xpath=".//tn:AvlVendor"/>
<xsd:field xpath="@enterpriseRef"/>
</xsd:keyref>
<xsd:key name="stepKey">
<xsd:selector xpath="tn:Ecad/tn:CadData/tn:Step"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="stepKeyRef" refer="stepKey">
<xsd:selector xpath=".//tn:StepRepeat|.//tn:BomHeader|.//tn:ConnectorMate|.//tn:ComponentPad|.//tn:PortConnect"/>
<xsd:field xpath="@stepRef"/>
</xsd:keyref>
<xsd:keyref name="stepKeyRef2" refer="stepKey">
<xsd:selector xpath=".//tn:StepRef"/>
<xsd:field xpath="@name"/>
</xsd:keyref>
<xsd:key name="PackageKey">
<xsd:selector xpath="tn:Ecad/tn:CadData/tn:Step/tn:Package"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="PackageKeyRef" refer="PackageKey">
<xsd:selector xpath=".//tn:Component|.//tn:FeatureDescription"/>
<xsd:field xpath="@packageRef"/>
</xsd:keyref>
<xsd:key name="BomKey">
<xsd:selector xpath="tn:Bom"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="BomKeyRef" refer="BomKey">
<xsd:selector xpath=".//tn:BomRef"/>
<xsd:field xpath="@name"/>
</xsd:keyref>
<!-- Unrealistic requirement for unique names -->
<xsd:key name="personKey">
<xsd:selector xpath="tn:LogisticHeader/tn:Person"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="personKeyRef" refer="personKey">
<xsd:selector xpath=".//tn:ChangeRec|.//tn:Approval"/>
<xsd:field xpath="@personRef"/>
</xsd:keyref>
<xsd:key name="AvlKey">
<xsd:selector xpath="tn:Avl"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="AvlKeyRef" refer="AvlKey">
<xsd:selector xpath=".//tn:AvlRef"/>
<xsd:field xpath="@name"/>
</xsd:keyref>
<xsd:key name="ColorKey">
<xsd:selector xpath="tn:Content/tn:DictionaryColor/tn:EntryColor"/>
<xsd:field xpath="@id"/>
</xsd:key>
<xsd:keyref name="ColorKeyRef" refer="ColorKey">
<xsd:selector xpath=".//tn:ColorRef"/>
<xsd:field xpath="@id"/>
</xsd:keyref>
<xsd:key name="layerKey">
<xsd:selector xpath="tn:Ecad/tn:CadData/tn:Layer"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="layerKeyRef" refer="layerKey">
<!-- See also layerKeyRef2 -->
<xsd:selector xpath=".//tn:Component|.//tn:FeatureDescription|.//tn:LayerFeature|.//tn:PhyNetPoint|.//tn:RefDes|.//tn:MatDes|.//tn:DocDes|.//tn:ToolDes|.//tn:WireBond"/>
<xsd:field xpath="@layerRef"/>
</xsd:keyref>
<xsd:keyref name="layerKeyRef2" refer="layerKey">
<!-- See also layerKeyRef -->
<xsd:selector xpath=".//tn:LayerRef"/>
<xsd:field xpath="@name"/>
</xsd:keyref>
<xsd:key name="StandardPrimitiveKey">
<xsd:selector xpath="tn:Content/tn:DictionaryStandard/tn:EntryStandard"/>
<xsd:field xpath="@id"/>
</xsd:key>
<xsd:keyref name="StandardPrimitiveKeyRef" refer="StandardPrimitiveKey">
<xsd:selector xpath=".//tn:StandardPrimitiveRef"/>
<xsd:field xpath="@id"/>
</xsd:keyref>
<xsd:key name="UserPrimitiveKey">
<xsd:selector xpath="tn:Content/tn:DictionaryUser/tn:EntryUser"/>
<xsd:field xpath="@id"/>
</xsd:key>
<xsd:keyref name="UserPrimitiveKeyRef" refer="UserPrimitiveKey">
<xsd:selector xpath=".//tn:UserPrimitiveRef"/>
<xsd:field xpath="@id"/>
</xsd:keyref>
<xsd:key name="FirmwareKey">
<xsd:selector xpath="tn:Content/tn:DictionaryFirmware/tn:EntryFirmware"/>
<xsd:field xpath="@id"/>
</xsd:key>
<xsd:keyref name="FirmwareKeyRef" refer="FirmwareKey">
<xsd:selector xpath=".//tn:FirmwareRef"/>
<xsd:field xpath="@id"/>
</xsd:keyref>
<xsd:keyref name="FirmwareKeyRef2" refer="FirmwareKey">
<xsd:selector xpath=".//tn:FeatureDescription"/>
<xsd:field xpath="@firmwareRef"/>
</xsd:keyref>
<xsd:key name="FontKey">
<xsd:selector xpath="tn:Content/tn:DictionaryFont/tn:EntryFont"/>
<xsd:field xpath="@id"/>
</xsd:key>
<xsd:keyref name="FontKeyRef" refer="FontKey">
<xsd:selector xpath=".//tn:FontRef"/>
<xsd:field xpath="@id"/>
</xsd:keyref>
<xsd:key name="LineDescKey">
<xsd:selector xpath="tn:Content/tn:DictionaryLineDesc/tn:EntryLineDesc"/>
<xsd:field xpath="@id"/>
</xsd:key>
<xsd:keyref name="LineDescKeyRef" refer="LineDescKey">
<xsd:selector xpath=".//tn:LineDescRef"/>
<xsd:field xpath="@id"/>
</xsd:keyref>
<xsd:key name="RefDesKey">
<xsd:selector xpath="tn:Bom/tn:BomItem/tn:RefDes"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="RefDesKeyRef" refer="RefDesKey">
<xsd:selector xpath=".//tn:LogicalNetPin|.//tn:PinRef|.//tn:FeatureDescription"/>
<xsd:field xpath="@componentRef"/>
</xsd:keyref>
<xsd:keyref name="RefDesKeyRef2" refer="RefDesKey">
<xsd:selector xpath=".//tn:Component"/>
<xsd:field xpath="@refDes"/>
</xsd:keyref>
<xsd:keyref name="RefDesKeyRef3" refer="RefDesKey">
<xsd:selector xpath=".//tn:ConnectorMate|.//tn:ConnectorPad|.//tn:PortConnect|.//tn:WireBond"/>
<xsd:field xpath="@compRef"/>
</xsd:keyref>
<xsd:key name="roleKey">
<xsd:selector xpath="tn:LogisticHeader/tn:Role"/>
<xsd:field xpath="@id"/>
</xsd:key>
<xsd:keyref name="roleKeyRef" refer="roleKey">
<xsd:selector xpath=".//tn:Person"/>
<xsd:field xpath="@roleRef"/>
</xsd:keyref>
<xsd:key name="bomItemKey">
<xsd:selector xpath="tn:Bom/tn:BomItem"/>
<xsd:field xpath="@OEMDesignNumberRef"/>
</xsd:key>
<xsd:key name="layerOrStackupGroupNameKey">
<xsd:selector xpath="tn:Ecad/tn:CadData/tn:Stackup/tn:StackupGroup|tn:Ecad/tn:CadData/tn:Layer"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="layerOrGroupKeyRef" refer="layerOrStackupGroupNameKey">
<xsd:selector xpath=".//tn:RefPlane|.//tn:ZoneLayer|.//tn:Property|.//tn:StackupLayer"/>
<xsd:field xpath="@layerOrGroupRef"/>
</xsd:keyref>
<xsd:key name="stackupKey">
<xsd:selector xpath="tn:Ecad/tn:CadData/tn:Stackup"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="stackupKeyRef" refer="stackupKey">
<xsd:selector xpath=".//tn:Step|.//tn:StackupZone"/>
<xsd:field xpath="@stackupRef"/>
</xsd:keyref>
<xsd:key name="specKey">
<xsd:selector xpath="tn:Ecad/tn:CadHeader/tn:Spec"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="specKeyRef" refer="specKey">
<xsd:selector xpath=".//tn:SpecRef"/>
<xsd:field xpath="@id"/>
</xsd:keyref>
<xsd:keyref name="specKeyRef2" refer="specKey">
<xsd:selector xpath=".//tn:FeatureDescription"/>
<xsd:field xpath="@specRef"/>
</xsd:keyref>
<xsd:key name="MatDesKey">
<xsd:selector xpath="tn:Bom/tn:BomItem/tn:MatDes"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="MatDesKeyRef" refer="MatDesKey">
<xsd:selector xpath=".//tn:Stackup|.//tn:StackupGroup|.//tn:StackupLayer|.//tn:Fill"/>
<xsd:field xpath="@matDes"/>
</xsd:keyref>
<xsd:key name="PortKey">
<xsd:selector xpath="tn:Ecad/tn:CadData/tn:Step/tn:Port"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="PortKeyRef" refer="PortKey">
<xsd:selector xpath=".//tn:PortRef"/>
<xsd:field xpath="@portName"/>
</xsd:keyref>
<xsd:key name="SlotCavityKey">
<xsd:selector xpath="tn:Ecad/tn:CadData/tn:Step/tn:LayerFeature/tn:Set/tn:SlotCavity"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="SlotCavityKeyRef" refer="SlotCavityKey">
<xsd:selector xpath=".//tn:SlotCavityRef"/>
<xsd:field xpath="@id"/>
</xsd:keyref>
<xsd:key name="NetKey">
<xsd:selector xpath="tn:Ecad/tn:CadData/tn:Step/tn:PhyNetGroup/tn:PhyNet|tn:Ecad/tn:CadData/tn:Step/tn:LogicalNet"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="NetKeyRef" refer="NetKey">
<xsd:selector xpath=".//NetRef"/>
<xsd:field xpath="@name"/>
</xsd:keyref>
<xsd:keyref name="NetKeyRef2" refer="NetKey">
<xsd:selector xpath=".//FeatureDescription"/>
<xsd:field xpath="@netRef"/>
</xsd:keyref>
<xsd:key name="PadStackDefKey">
<xsd:selector xpath="tn:Ecad/tn:CadData/tn:Step/tn:PadStackDef"/>
<xsd:field xpath="@name"/>
</xsd:key>
<xsd:keyref name="PadStackDefKeyRef" refer="PadStackDefKey">
<xsd:selector xpath=".//tn:Pad|.//tn:FeatureDescription"/>
<xsd:field xpath="@padstackDefRef"/>
</xsd:keyref>
</xsd:element>
<xsd:complexType name="IPC-2581Type">
<xsd:sequence>
<xsd:element ref="Content"/>
<xsd:element ref="LogisticHeader"/>
<xsd:element ref="HistoryRecord"/>
<xsd:element ref="Bom" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Ecad"/>
<xsd:element ref="Avl" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="revision" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="Inset" type="InsetType"/>
<xsd:complexType name="InsetType">
<xsd:sequence>
<xsd:element ref="StackupZoneRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="insetSize" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="LandPattern" type="LandPatternType"/>
<xsd:complexType name="LandPatternType">
<xsd:sequence>
<xsd:element ref="Pad" maxOccurs="unbounded"/>
<xsd:element ref="Target" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Layer" type="LayerType"/>
<xsd:element name="LayerFeature" type="LayerFeatureType"/>
<xsd:complexType name="LayerFeatureType">
<xsd:sequence>
<xsd:element ref="Set" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="Model" type="ModelType"/>
<xsd:complexType name="ModelType">
<xsd:sequence>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="Extrusion" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="PadstackHoleDef" type="PadstackHoleDefType"/>
<xsd:complexType name="PadstackHoleDefType">
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="diameter" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="platingStatus" type="platingStatusType" use="required"/>
<xsd:attribute name="plusTol" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="minusTol" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="x" type="xsd:double" use="required"/>
<xsd:attribute name="y" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="PadstackPadDef" type="PadstackPadDefType"/>
<xsd:complexType name="PadstackPadDefType">
<xsd:sequence>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location"/>
<xsd:element ref="Feature"/>
</xsd:sequence>
<xsd:attribute name="layerRef" use="required"/>
<xsd:attribute name="padUse" use="required"/>
<xsd:attribute name="comment" use="optional"/>
</xsd:complexType>
<xsd:element name="LayerRef" type="LayerRefType"/>
<xsd:complexType name="LayerRefType">
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:complexType name="LayerType">
<xsd:sequence>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Span" minOccurs="0"/>
<xsd:element ref="Profile" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="layerFunction" type="layerFunctionType" use="required"/>
<xsd:attribute name="side" type="sideType" use="required"/>
<xsd:attribute name="polarity" type="polarityType" use="required"/>
</xsd:complexType>
<xsd:element name="Line" type="LineType" substitutionGroup="Simple"/>
<xsd:element name="LineDesc" type="LineDescType" substitutionGroup="LineDescGroup"/>
<xsd:element name="LineDescGroup" abstract="true"/>
<xsd:element name="LineDescRef" type="LineDescRefType" substitutionGroup="LineDescGroup"/>
<xsd:complexType name="LineDescRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:complexType name="LineDescType">
<xsd:attribute name="lineEnd" type="lineEndType" use="required"/>
<xsd:attribute name="lineWidth" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="lineProperty" type="linePropertyType"/>
</xsd:complexType>
<xsd:complexType name="LineType">
<xsd:sequence>
<xsd:element ref="LineDescGroup"/>
</xsd:sequence>
<xsd:attribute name="startX" type="xsd:double" use="required"/>
<xsd:attribute name="startY" type="xsd:double" use="required"/>
<xsd:attribute name="endX" type="xsd:double" use="required"/>
<xsd:attribute name="endY" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="FillDesc" type="FillDescType" substitutionGroup="FillDescGroup"/>
<xsd:element name="FillDescGroup" abstract="true"/>
<xsd:element name="FillDescRef" type="FillDescRefType" substitutionGroup="FillDescGroup"/>
<xsd:complexType name="FillDescRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:complexType name="FillDescType">
<xsd:sequence>
<xsd:element ref="ColorGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="fillProperty" type="fillPropertyType" use="required"/>
<xsd:attribute name="lineWidth" type="nonNegativeDoubleType"/>
<xsd:attribute name="pitch1" type="nonNegativeDoubleType"/>
<xsd:attribute name="pitch2" type="nonNegativeDoubleType"/>
<xsd:attribute name="angle1" type="angleType"/>
<xsd:attribute name="angle2" type="angleType"/>
</xsd:complexType>
<xsd:element name="LocalFiducial" type="FiducialType" substitutionGroup="Fiducial"/>
<xsd:element name="Location" type="LocationType"/>
<xsd:element name="PickupPoint" type="LocationType"/>
<xsd:complexType name="LocationType">
<xsd:attribute name="x" type="xsd:double" use="required"/>
<xsd:attribute name="y" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="LogicalNet" type="LogicalNetType"/>
<xsd:complexType name="LogicalNetType">
<xsd:sequence>
<xsd:element ref="NonstandardAttribute" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="PinRef" maxOccurs="unbounded"/>
<xsd:element ref="PortRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="netClass" type="netClassType"/>
<xsd:attribute name="netPair" type="qualifiedNameType"/>
</xsd:complexType>
<xsd:element name="LogisticHeader" type="LogisticHeaderType"/>
<xsd:complexType name="LogisticHeaderType">
<xsd:sequence>
<xsd:element ref="Role" maxOccurs="unbounded"/>
<xsd:element ref="Enterprise" maxOccurs="unbounded"/>
<xsd:element ref="Person" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Marking" type="MarkingType"/>
<xsd:complexType name="MarkingType">
<xsd:sequence>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location" minOccurs="0"/>
<xsd:element ref="Feature"/>
</xsd:sequence>
<xsd:attribute name="markingUsage" type="markingUsageType"/>
</xsd:complexType>
<xsd:element name="Marker" type="MarkerType"/>
<xsd:complexType name="MarkerType">
<xsd:sequence>
<xsd:element ref="LayerRef"/>
<xsd:element ref="StandardPrimitive"/>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="MaterialCut" type="MaterialCutType" substitutionGroup="Z_AxisDim"/>
<xsd:complexType name="MaterialCutType">
<xsd:attribute name="depth" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="plusTol" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="minusTol" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="startCutLayer" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="MaterialLeft" type="MaterialLeftType" substitutionGroup="Z_AxisDim"/>
<xsd:complexType name="MaterialLeftType">
<xsd:attribute name="thickness" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="plusTol" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="minusTol" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="startCutLayer" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="Measured" type="MeasuredType"/>
<xsd:complexType name="MeasuredType">
<xsd:attribute name="definitionSource" type="xsd:string"/>
<xsd:attribute name="measuredCharacteristicName" type="xsd:string"/>
<xsd:attribute name="measuredCharacteristicValue" type="xsd:double"/>
<xsd:attribute name="engineeringUnitOfMeasure" type="xsd:string"/>
<xsd:attribute name="engineeringNegativeTolerance" type="xsd:double"/>
<xsd:attribute name="engineeringPositiveTolerance" type="xsd:double"/>
</xsd:complexType>
<xsd:element name="MeasurementPoint" type="MeasurementPointType"/>
<xsd:complexType name="MeasurementPointType">
<xsd:sequence>
<xsd:element ref="LayerRef"/>
<xsd:element ref="Location" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="OtherSideView" type="OtherSideViewType"/>
<xsd:complexType name="OtherSideViewType">
<xsd:sequence>
<xsd:element ref="Outline" minOccurs="0"/>
<xsd:element ref="SilkScreen" minOccurs="0"/>
<xsd:element ref="AssemblyDrawing" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Modification" type="ModificationType"/>
<xsd:complexType name="ModificationType">
<xsd:attribute name="repairInfo" type="xsd:string"/>
<xsd:attribute name="weldsPermitted" type="xsd:boolean"/>
</xsd:complexType>
<xsd:element name="Moire" type="MoireType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="MoireType">
<xsd:attribute name="diameter" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="ringWidth" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="ringGap" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="ringNumber" type="xsd:nonNegativeInteger" use="required"/>
<xsd:attribute name="lineWidth" type="nonNegativeDoubleType" default="0"/>
<xsd:attribute name="lineLength" type="nonNegativeDoubleType"/>
<xsd:attribute name="lineAngle" type="angleType"/>
</xsd:complexType>
<xsd:element name="NonstandardAttribute" type="NonstandardAttributeType"/>
<xsd:complexType name="NonstandardAttributeType">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="type" type="cadPropertyType" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="Octagon" type="OctagonType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="OctagonType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="length" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="NetShort" type="NetShortType"/>
<xsd:complexType name="NetShortType">
<xsd:sequence>
<xsd:element ref="NetRef" minOccurs="2" maxOccurs="unbounded"/>
<xsd:element ref="Location" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="LayerRef" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="NetRef" type="NetRefType"/>
<xsd:complexType name="NetRefType">
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="Outline" type="OutlineType" substitutionGroup="Simple"/>
<xsd:complexType name="OutlineType">
<xsd:sequence>
<xsd:element ref="Polygon"/>
<xsd:element ref="LineDescGroup"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Oval" type="OvalType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="OvalType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="width" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="height" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="Package" type="PackageType"/>
<xsd:complexType name="PackageType">
<xsd:sequence>
<xsd:element ref="Outline"/>
<xsd:element ref="PickupPoint" minOccurs="0"/>
<xsd:element ref="LandPattern" minOccurs="0"/>
<xsd:element ref="SilkScreen" minOccurs="0"/>
<xsd:element ref="AssemblyDrawing" minOccurs="0"/>
<xsd:element ref="Pin" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Topside" minOccurs="0"/>
<xsd:element ref="OtherSideView" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="type" type="packageTypeType" use="required"/>
<xsd:attribute name="pinOne" type="xsd:string"/>
<xsd:attribute name="pinOneOrientation" type="pinOneOrientationType" use="required"/>
<xsd:attribute name="height" type="nonNegativeDoubleType"/>
<xsd:attribute name="negativeBodyExtension" type="nonNegativeDoubleType"/>
<xsd:attribute name="comment" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="Topside" type="PackageTopSideType"/>
<xsd:complexType name="PackageTopSideType">
<xsd:sequence>
<xsd:element ref="Outline" minOccurs="0"/>
<xsd:element ref="LandPattern" minOccurs="0"/>
<xsd:element ref="SilkScreen" minOccurs="0"/>
<xsd:element ref="AssemblyDrawing" minOccurs="0"/>
<xsd:element ref="Pin" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Pad" type="PadType"/>
<xsd:element name="PadStackDef" type="PadStackDefType"/>
<xsd:complexType name="PadStackDefType">
<xsd:sequence>
<xsd:element ref="PadstackHoleDef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="PadstackPadDef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType"/>
</xsd:complexType>
<xsd:complexType name="PadType">
<xsd:sequence>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location"/>
<xsd:element ref="Feature"/>
<xsd:element ref="PinRef" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="padstackDefRef" type="qualifiedNameType"/>
</xsd:complexType>
<xsd:element name="Person" type="PersonType"/>
<xsd:complexType name="PersonType">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="enterpriseRef" type="xsd:string" use="required"/>
<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:attribute name="roleRef" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="PhyNet" type="PhyNetType"/>
<xsd:element name="PhyNetGroup" type="PhyNetGroupType"/>
<xsd:complexType name="PhyNetGroupType">
<xsd:sequence>
<xsd:element ref="PhyNet" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="optimized" type="xsd:boolean"/>
</xsd:complexType>
<xsd:element name="PhyNetPoint" type="PhyNetPointType"/>
<xsd:complexType name="PhyNetPointType">
<xsd:sequence>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Feature"/>
<xsd:element ref="PortRef" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="x" type="xsd:double" use="required"/>
<xsd:attribute name="y" type="xsd:double" use="required"/>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="required"/>
<xsd:attribute name="secondaryLayerRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="netNode" type="netPointType" use="required"/>
<xsd:attribute name="exposure" type="exposureType" use="required"/>
<xsd:attribute name="layerIndex" type="xsd:string"/>
<xsd:attribute name="comment" type="xsd:string"/>
<xsd:attribute name="via" type="xsd:boolean"/>
<xsd:attribute name="fiducial" type="xsd:boolean"/>
<xsd:attribute name="test" type="xsd:boolean"/>
<xsd:attribute name="staggerX" type="xsd:double"/>
<xsd:attribute name="staggerY" type="xsd:double"/>
<xsd:attribute name="staggerRadius" type="xsd:double"/>
</xsd:complexType>
<xsd:complexType name="PhyNetType">
<xsd:sequence>
<xsd:element ref="PhyNetPoint" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="Pin" type="PinType"/>
<xsd:complexType name="PinType">
<xsd:sequence>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location" minOccurs="0"/>
<xsd:element ref="StandardShape"/>
</xsd:sequence>
<xsd:attribute name="number" type="qualifiedNameType" use="required"/>
<xsd:attribute name="name" type="qualifiedNameType"/>
<xsd:attribute name="type" type="cadPinType" use="required"/>
<xsd:attribute name="electricalType" type="pinElectricalType"/>
<xsd:attribute name="mountType" type="pinMountType"/>
<xsd:attribute name="pinPolarity" type="pinPolarityType" use="optional"/>
</xsd:complexType>
<xsd:element name="PinRef" type="PinRefType"/>
<xsd:complexType name="PinRefType">
<xsd:attribute name="componentRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="pin" type="xsd:string" use="required"/>
<xsd:attribute name="title" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="PlatingThickness" type="LengthPropertyType"/>
<xsd:element name="PlatingGap" type="LengthPropertyType"/>
<xsd:element name="PolyBegin" type="PolyBeginType"/>
<xsd:complexType name="PolyBeginType">
<xsd:attribute name="x" type="xsd:double" use="required"/>
<xsd:attribute name="y" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="Polygon" type="PolygonType"/>
<xsd:complexType name="PolygonType">
<xsd:sequence>
<xsd:element ref="PolyBegin"/>
<xsd:element ref="PolyStep" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Polyline" type="PolylineType" substitutionGroup="Simple"/>
<xsd:complexType name="PolylineType">
<xsd:sequence>
<xsd:element ref="PolyBegin"/>
<xsd:element ref="PolyStep" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element ref="LineDescGroup"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="PolyStep" abstract="true"/>
<xsd:element name="PolyStepCurve" type="PolyStepCurveType" substitutionGroup="PolyStep"/>
<xsd:complexType name="PolyStepCurveType">
<xsd:attribute name="x" type="xsd:double" use="required"/>
<xsd:attribute name="y" type="xsd:double" use="required"/>
<xsd:attribute name="centerX" type="xsd:double" use="required"/>
<xsd:attribute name="centerY" type="xsd:double" use="required"/>
<xsd:attribute name="clockwise" type="xsd:boolean" use="required"/>
</xsd:complexType>
<xsd:element name="PolyStepSegment" type="PolyStepSegmentType" substitutionGroup="PolyStep"/>
<xsd:complexType name="PolyStepSegmentType">
<xsd:attribute name="x" type="xsd:double" use="required"/>
<xsd:attribute name="y" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="Port" type="PortDef"/>
<xsd:complexType name="PortDef">
<xsd:sequence>
<xsd:element ref="PortType" minOccurs="1"/>
<xsd:element ref="Location" minOccurs="0"/>
<xsd:element ref="PortConnect" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="netType" type="netFunctionType"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="PortType" abstract="true"/>
<xsd:element name="PortConnect" type="PortConnectType"/>
<xsd:complexType name="PortConnectType">
<xsd:sequence>
<xsd:element ref="Location" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="portName" type="qualifiedNameType" use="required"/>
<xsd:attribute name="stepRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="compRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="pinRef" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="PortRef" type="PortRefType"/>
<xsd:complexType name="PortRefType">
<xsd:attribute name="portName" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="Product" type="ProductType"/>
<xsd:complexType name="ProductType">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="criteria" type="productCriteriaType" use="optional"/>
</xsd:complexType>
<xsd:element name="WireBond" type="WireBondType" substitutionGroup="PortType"/>
<xsd:complexType name="WireBondType">
<xsd:sequence>
<xsd:element ref="WireHeight" minOccurs="0"/>
<xsd:element ref="Location" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="layerRef" type="qualifiedNameType" use="required"/>
<xsd:attribute name="compRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="pinRef" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="ConnectorMate" type="ConnCompType" substitutionGroup="PortType"/>
<xsd:element name="ComponentPad" type="ConnCompType" substitutionGroup="PortType"/>
<xsd:complexType name="ConnCompType">
<xsd:sequence>
<xsd:element ref="Location" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="compRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="pinRef" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="WireHeight" type="LengthPropertyType"/>
<xsd:element name="Ranged" type="RangedType"/>
<xsd:complexType name="RangedType">
<xsd:attribute name="definitionSource" type="xsd:string"/>
<xsd:attribute name="rangedCharacteristicName" type="xsd:string"/>
<xsd:attribute name="rangedCharacteristicLowerValue" type="xsd:double"/>
<xsd:attribute name="rangedCharacteristicUpperValue" type="xsd:double"/>
<xsd:attribute name="engineeringUnitOfMeasure" type="xsd:string"/>
<xsd:attribute name="engineeringNegativeTolerance" type="xsd:double"/>
<xsd:attribute name="engineeringPositiveTolerance" type="xsd:double"/>
</xsd:complexType>
<xsd:element name="RectCenter" type="RectCenterType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="RectCenterType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="width" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="height" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="RectCham" type="RectChamType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="RectChamType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="width" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="height" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="chamfer" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="upperRight" type="xsd:boolean"/>
<xsd:attribute name="upperLeft" type="xsd:boolean"/>
<xsd:attribute name="lowerLeft" type="xsd:boolean"/>
<xsd:attribute name="lowerRight" type="xsd:boolean"/>
</xsd:complexType>
<xsd:element name="RectCorner" type="RectCornerType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="RectCornerType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="lowerLeftX" type="xsd:double" use="required"/>
<xsd:attribute name="lowerLeftY" type="xsd:double" use="required"/>
<xsd:attribute name="upperRightX" type="xsd:double" use="required"/>
<xsd:attribute name="upperRightY" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="RectRound" type="RectRoundType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="RectRoundType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="width" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="height" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="radius" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="upperRight" type="xsd:boolean"/>
<xsd:attribute name="upperLeft" type="xsd:boolean"/>
<xsd:attribute name="lowerLeft" type="xsd:boolean"/>
<xsd:attribute name="lowerRight" type="xsd:boolean"/>
</xsd:complexType>
<xsd:element name="Role" type="RoleType"/>
<xsd:complexType name="RoleType">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="roleFunction" type="roleFunctionType" use="required"/>
<xsd:attribute name="description" type="xsd:string"/>
<xsd:attribute name="publicKey" type="xsd:base64Binary"/>
<xsd:attribute name="authority" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="Set" type="SetType"/>
<xsd:complexType name="SetType">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="NonstandardAttribute" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Pad"/>
<xsd:element ref="Fiducial"/>
<xsd:element ref="Hole"/>
<xsd:element ref="SlotCavity"/>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Features"/>
<xsd:element ref="ColorGroup"/>
<xsd:element ref="LineDescGroup"/>
<xsd:element ref="NetShort"/>
</xsd:choice>
<xsd:attribute name="net" type="qualifiedNameType"/>
<xsd:attribute name="netPair" type="qualifiedNameType"/>
<xsd:attribute name="polarity" type="polarityType"/>
<xsd:attribute name="padUsage" type="padUsageType"/>
<xsd:attribute name="testPoint" type="xsd:boolean"/>
<xsd:attribute name="geometry" type="xsd:string"/>
<xsd:attribute name="plate" type="xsd:boolean"/>
<xsd:attribute name="componentRef" type="xsd:string"/>
<xsd:attribute name="geometryUsage" type="geometryUsageType"/>
</xsd:complexType>
<xsd:element name="SilkScreen" type="SilkScreenType"/>
<xsd:complexType name="SilkScreenType">
<xsd:sequence>
<xsd:element ref="Outline" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Marking" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Simple" abstract="true" substitutionGroup="UserPrimitive"/>
<xsd:element name="SlotCavity" type="SlotCavityType"/>
<xsd:complexType name="SlotCavityType">
<xsd:sequence>
<xsd:element ref="Location"/>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Feature"/>
<xsd:element ref="Z_AxisDim" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="Fill" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="platingStatus" type="platingStatusType" use="required"/>
<xsd:attribute name="plusTol" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="minusTol" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="Fill" type="FillType"/>
<xsd:complexType name="FillType">
<xsd:sequence>
<xsd:element ref="SpecRef"/>
</xsd:sequence>
<xsd:attribute name="depthRemaining" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="matDes" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="SoftwarePackage" type="SoftwarePackageType"/>
<xsd:complexType name="SoftwarePackageType">
<xsd:sequence>
<xsd:element ref="Certification" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="vendor" type="xsd:string" use="required"/>
<xsd:attribute name="revision" type="xsd:string" use="required"/>
<xsd:attribute name="model" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="Span" type="SpanType"/>
<xsd:complexType name="SpanType">
<xsd:attribute name="fromLayer" type="qualifiedNameType"/>
<xsd:attribute name="toLayer" type="qualifiedNameType"/>
</xsd:complexType>
<xsd:element name="SpecificationType" abstract="true"/>
<xsd:element name="Backdrill" type="BackdrillType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="BackdrillType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="backdrillListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Dielectric" type="DielectricType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="DielectricType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="dielectricListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Conductor" type="ConductorType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="ConductorType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="material" type="conductorMaterialType" use="optional"/>
<xsd:attribute name="foilType" type="foilTypeType" use="optional"/>
<xsd:attribute name="type" type="conductorListType" use="optional"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Compliance" type="ComplianceType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="ComplianceType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="complianceListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Technology" type="TechnologyType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="TechnologyType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="technologyListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="General" type="GeneralType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="GeneralType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ColorGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="type" type="generalListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Temperature" type="TemperatureType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="TemperatureType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="temperatureListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="V_Cut" type="V_CutType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="V_CutType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="vCutListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Tool" type="ToolType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="ToolType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="toolListType" use="required"/>
<xsd:attribute name="toolProperty" type="toolPropertyListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Impedance" type="ImpedanceType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="ImpedanceType">
<xsd:sequence>
<xsd:element ref="TransmissionType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="value" type="xsd:double" use="required"/>
<xsd:attribute name="tolPlus" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="tolMinus" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="tolPercent" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Thieving" type="ThievingType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="ThievingType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="thievingListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="EdgeChamfer" type="EdgeChamferType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="EdgeChamferType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="edgeChamferListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="EdgePlating" type="EdgePlatingType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="EdgePlatingType">
<xsd:sequence>
<xsd:element ref="PlatingThickness" minOccurs="0" maxOccurs="2"/>
<xsd:element ref="PlatingGap" minOccurs="0" maxOccurs="2"/>
<xsd:element ref="SurfaceFinish" minOccurs="0" maxOccurs="2"/>
</xsd:sequence>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="SecondaryDrill" type="SecondaryDrillType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="SecondaryDrillType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="secondaryDrillListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="SurfaceFinish" type="SurfaceFinishType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="SurfaceFinishType">
<xsd:sequence>
<xsd:element ref="Product" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="surfaceFinishType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Flex" type="FlexType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="FlexType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="flexListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Loss" type="LossType" substitutionGroup="SpecificationType"/>
<xsd:complexType name="LossType">
<xsd:sequence>
<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" type="lossListType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="LineGap" abstract="true"/>
<xsd:element name="TransmissionType" abstract="true"/>
<xsd:element name="Spacing" type="LengthPropertyType" substitutionGroup="LineGap"/>
<xsd:element name="Pitch" type="LengthPropertyType" substitutionGroup="LineGap"/>
<xsd:element name="LineWidth" type="LengthPropertyType"/>
<xsd:element name="CoplanarGroundSpacing" type="LengthPropertyType"/>
<xsd:element name="Offset" type="LengthPropertyType"/>
<xsd:complexType name="LengthPropertyType">
<xsd:attribute name="value" type="xsd:double"/>
<xsd:attribute name="unit" type="lengthUnitType"/>
<xsd:attribute name="tolPlus" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="tolMinus" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="tolPercent" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="constraintType" type="constraintTypeType" use="optional"/>
</xsd:complexType>
<xsd:element name="RefPlane" type="RefPlaneType"/>
<xsd:element name="PairLayerRef" type="RefPlaneType"/>
<xsd:complexType name="RefPlaneType">
<xsd:attribute name="layerOrGroupRef" type="qualifiedNameType"/>
</xsd:complexType>
<xsd:element name="BroadsideCoupled" type="BroadsideCoupledType" substitutionGroup="TransmissionType"/>
<xsd:complexType name="BroadsideCoupledType">
<xsd:sequence>
<xsd:element ref="LineWidth"/>
<xsd:element ref="Offset" minOccurs="0"/>
<xsd:element ref="PairLayerRef"/>
<xsd:element ref="RefPlane" minOccurs="0" maxOccurs="2"/>
</xsd:sequence>
<xsd:attribute name="structure" type="broadsideListType" use="required"/>
</xsd:complexType>
<xsd:element name="SingleEnded" type="SingleEndedType" substitutionGroup="TransmissionType"/>
<xsd:complexType name="SingleEndedType">
<xsd:sequence>
<xsd:element ref="LineWidth"/>
<xsd:element ref="RefPlane" minOccurs="0" maxOccurs="2"/>
</xsd:sequence>
<xsd:attribute name="structure" type="structureListType" use="required"/>
</xsd:complexType>
<xsd:element name="CoplanarWaveguide" type="CoplanarWaveguideType" substitutionGroup="TransmissionType"/>
<xsd:complexType name="CoplanarWaveguideType">
<xsd:sequence>
<xsd:element ref="LineWidth"/>
<xsd:element ref="LineGap"/>
<xsd:element ref="CoplanarGroundSpacing"/>
<xsd:element ref="RefPlane" minOccurs="0" maxOccurs="2"/>
</xsd:sequence>
<xsd:attribute name="structure" type="coplanarListType" use="required"/>
</xsd:complexType>
<xsd:element name="Property" type="PropertyType"/>
<xsd:complexType name="PropertyType">
<xsd:attribute name="name" type="xsd:string" use="optional"/>
<xsd:attribute name="value" type="xsd:double" use="optional"/>
<xsd:attribute name="text" type="xsd:string" use="optional"/>
<xsd:attribute name="unit" type="propertyUnitType" use="optional"/>
<xsd:attribute name="tolPlus" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="tolMinus" type="nonNegativeDoubleType" use="optional"/>
<xsd:attribute name="tolPercent" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="refUnit" type="propertyUnitType" use="optional"/>
<xsd:attribute name="refValue" type="xsd:double" use="optional"/>
<xsd:attribute name="refText" type="xsd:string" use="optional"/>
<xsd:attribute name="layerOrGroupRef" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="Spec" type="SpecType"/>
<xsd:complexType name="SpecType">
<xsd:sequence>
<xsd:element ref="SpecificationType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location" minOccurs="0"/>
<xsd:element ref="Outline" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="Stackup" type="StackupType"/>
<xsd:complexType name="StackupType">
<xsd:sequence>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="StackupGroup" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="overallThickness" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="tolPlus" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="tolMinus" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="tolPercent" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="whereMeasured" type="whereMeasuredType" use="required"/>
<xsd:attribute name="matDes" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="stackupStatus" type="stackupStatusType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="StackupGroup" type="StackupGroupType"/>
<xsd:complexType name="StackupGroupType">
<xsd:sequence>
<xsd:element ref="StackupLayer" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="CADDataLayerRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="thickness" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="tolPlus" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="tolMinus" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="tolPercent" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="matDes" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="StackupLayer" type="StackupLayerType"/>
<xsd:complexType name="StackupLayerType">
<xsd:sequence>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="layerOrGroupRef" type="qualifiedNameType" use="required"/>
<xsd:attribute name="thickness" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="tolPlus" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="tolMinus" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="tolPercent" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="sequence" type="nonNegativeDoubleType"/>
<xsd:attribute name="matDes" type="qualifiedNameType" use="optional"/>
<xsd:attribute name="comment" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="CADDataLayerRef" type="CADDataLayerRefType"/>
<xsd:complexType name="CADDataLayerRefType">
<xsd:attribute name="layerId" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="SlotCavityRef" type="SlotCavityRefType"/>
<xsd:complexType name="SlotCavityRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="SpecRef" type="SpecRefType"/>
<xsd:complexType name="SpecRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="StackupZone" type="StackupZoneType"/>
<xsd:complexType name="StackupZoneType">
<xsd:sequence>
<xsd:element ref="Profile"/>
<xsd:element ref="ZoneLayer" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="SpecRef" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="qualifiedNameType" use="required"/>
<xsd:attribute name="stackupRef" type="qualifiedNameType" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="StackupZoneRef" type="StackupZoneRefType"/>
<xsd:complexType name="StackupZoneRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="StandardPrimitive" abstract="true" substitutionGroup="StandardShape"/>
<xsd:element name="StandardPrimitiveRef" type="StandardPrimitiveRefType" substitutionGroup="StandardShape"/>
<xsd:complexType name="StandardPrimitiveRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="StandardShape" abstract="true" substitutionGroup="Feature"/>
<xsd:element name="Step" type="StepType"/>
<xsd:element name="StepRef" type="StepRefType"/>
<xsd:complexType name="StepRefType">
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="StepRepeat" type="StepRepeatType"/>
<xsd:complexType name="StepRepeatType">
<xsd:attribute name="stepRef" type="xsd:string" use="required"/>
<xsd:attribute name="x" type="xsd:double" use="required"/>
<xsd:attribute name="y" type="xsd:double" use="required"/>
<xsd:attribute name="nx" type="xsd:nonNegativeInteger" use="required"/>
<xsd:attribute name="ny" type="xsd:nonNegativeInteger" use="required"/>
<xsd:attribute name="dx" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="dy" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="angle" type="angleType" use="required"/>
<xsd:attribute name="mirror" type="xsd:boolean" use="required"/>
</xsd:complexType>
<xsd:element name="Datum" type="LocationType"/>
<xsd:element name="Profile" type="ContourType"/>
<xsd:complexType name="StepType">
<xsd:sequence>
<xsd:element ref="NonstandardAttribute" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="PadStackDef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Datum"/>
<xsd:element ref="Profile" minOccurs="0"/>
<xsd:element ref="StepRepeat" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Package" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="LogicalNet" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="PhyNetGroup" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="LayerFeature" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="BendArea" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="StackupZone" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Port" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Model" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Dfx" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="type" type="stepType" use="optional"/>
<xsd:attribute name="stackupRef" type="qualifiedNameType" use="optional"/>
</xsd:complexType>
<xsd:element name="Target" type="TargetType"/>
<xsd:complexType name="TargetType">
<xsd:sequence>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="Location"/>
<xsd:element ref="StandardShape"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Text" type="TextType" substitutionGroup="UserPrimitive"/>
<xsd:complexType name="TextType">
<xsd:sequence>
<xsd:element ref="Xform" minOccurs="0"/>
<xsd:element ref="BoundingBox"/>
<xsd:element ref="FontRef" minOccurs="0"/>
<xsd:element ref="ColorGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="textString" type="xsd:string" use="required"/>
<xsd:attribute name="fontSize" type="xsd:positiveInteger" use="required"/>
</xsd:complexType>
<xsd:element name="Textual" type="TextualType"/>
<xsd:complexType name="TextualType">
<xsd:attribute name="definitionSource" type="xsd:string"/>
<xsd:attribute name="textualCharacteristicName" type="xsd:string"/>
<xsd:attribute name="textualCharacteristicValue" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="Thermal" type="ThermalType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="ThermalType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="shape" type="thermalShapeType" use="required"/>
<xsd:attribute name="outerDiameter" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="innerDiameter" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="spokeCount" type="spokeCountType" default="4"/>
<xsd:attribute name="spokeWidth" type="nonNegativeDoubleType"/>
<xsd:attribute name="spokeStartAngle" type="angleType" use="required"/>
</xsd:complexType>
<xsd:element name="Triangle" type="TriangleType" substitutionGroup="StandardPrimitive"/>
<xsd:complexType name="TriangleType">
<xsd:sequence>
<xsd:element ref="LineDescGroup" minOccurs="0"/>
<xsd:element ref="FillDescGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="base" type="nonNegativeDoubleType" use="required"/>
<xsd:attribute name="height" type="nonNegativeDoubleType" use="required"/>
</xsd:complexType>
<xsd:element name="Tuning" type="TuningType"/>
<xsd:complexType name="TuningType">
<xsd:attribute name="value" type="qualifiedNameType" use="required"/>
<xsd:attribute name="comments" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="UserPrimitive" abstract="true" substitutionGroup="UserShape"/>
<xsd:element name="UserPrimitiveRef" type="UserPrimitiveRefType" substitutionGroup="UserShape"/>
<xsd:complexType name="UserPrimitiveRefType">
<xsd:attribute name="id" type="qualifiedNameType" use="required"/>
</xsd:complexType>
<xsd:element name="UserShape" abstract="true" substitutionGroup="Feature"/>
<xsd:element name="UserSpecial" type="UserSpecialType" substitutionGroup="UserPrimitive"/>
<xsd:complexType name="UserSpecialType">
<xsd:sequence>
<xsd:element ref="Feature" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Xform" type="XformType"/>
<xsd:complexType name="XformType">
<xsd:attribute name="xOffset" type="xsd:double"/>
<xsd:attribute name="yOffset" type="xsd:double"/>
<xsd:attribute name="rotation" type="nonNegativeDoubleType"/>
<xsd:attribute name="mirror" type="xsd:boolean" default="false"/>
<xsd:attribute name="faceUp" type="xsd:boolean" default="false"/>
<xsd:attribute name="scale" type="scaleType"/>
</xsd:complexType>
<xsd:element name="Z_AxisDim" abstract="true"/>
<xsd:element name="ZoneLayer" type="ZoneLayerType"/>
<xsd:complexType name="ZoneLayerType">
<xsd:sequence>
<xsd:element ref="Inset" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="layerOrGroupRef" type="qualifiedNameType" use="required"/>
</xsd:complexType>
</xsd:schema>