<?xml version="1.0" encoding="utf-8"?>
<!--
Cadence Design Systems 


(C) COPYRIGHT, Cadence Design Systems, Inc. 2013
All Rights Reserved
Licensed Materials - Property of Cadence Design Systems

No part of this file may be reproduced, stored in a retrieval system,
or transmitted in any form or by any means electronic, mechanical,
photocopying, recording, or otherwise without prior written permission
of Cadence Design Systems, Inc. 

WARRANTY:
Use all material in this file at your own risk.  Cadence Design Systems
makes no claims about any material contained in this file.
-->
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:l="http://www.cadence.com/xsd/header"
    elementFormDefault="qualified"
    targetNamespace="http://www.cadence.com/xsd/header"
>

  <xs:include schemaLocation="common.xsd"/>

  <xs:element name="root">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="l:Contents" minOccurs="0"/>
        <xs:element ref="l:revisionNumber" minOccurs="0"/>
        <xs:element ref="l:precision" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="Name" type="xs:string"/>
      <xs:attribute name="Key">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="logical"/>
            <xs:enumeration value="physical"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="retainECnsOnNets" type="l:bool"/>
      <xs:attribute name="Version" type="l:VersionPattern" use="optional">
        <xs:annotation>
          <xs:documentation>Used only in interface definitions</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

  <xs:element name="Contents">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="v" maxOccurs="unbounded">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="Stackup"/>
              <xs:enumeration value="Electrical"/>
              <xs:enumeration value="Spacing"/>
              <xs:enumeration value="Physical"/>
              <xs:enumeration value="UDprops"/>
              <xs:enumeration value="NetClass"/>
              <xs:enumeration value="Units"/>
              <xs:enumeration value="Drawing"/>
              <xs:enumeration value="OpFlags"/>
              <xs:enumeration value="WSCust"/>
              <xs:enumeration value="Funcs"/>
              <xs:enumeration value="Ratbundles"/>
              <xs:enumeration value="SNSpacing"/>
              <xs:enumeration value="Assembly"/>
              <xs:enumeration value="Compclass"/>
              <xs:enumeration value="Properties"/>
              <xs:enumeration value="CrossSectionNeutral"/>
              <xs:enumeration value="Powerintegrity"/>
              <xs:enumeration value="Manufacturing"/>
              <xs:enumeration value="DFF"/>
			  <xs:enumeration value="DFA"/>
	      <xs:enumeration value="DFT"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="precision">
    <xs:complexType>
      <xs:attribute name="units" type="l:UnitNameEnum"/>
      <xs:attribute name="numberOfDecimalPlaces" type="xs:decimal"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="revisionNumber">
    <xs:complexType>
      <xs:attribute name="logical" type="xs:decimal"/>
      <xs:attribute name="physical" type="xs:decimal"/>
      <xs:attribute name="other" type="xs:decimal"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
