<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="pass-data">
 <xs:complexType>
  <xs:all>

  <!-- provenance-->

   <xs:element name="provenance">
    <xs:complexType>
     <xs:all>

      <xs:element name="record">
       <xs:complexType>
        <xs:all>

         <xs:element name="record-type" type="xs:string"/>

         <xs:element name="record-data">
          <xs:complexType>
           <xs:all>

           <!-- xrefs -->	
            <xs:element name="xref">
             <xs:complexType>
	      <xs:attribute name="pnode" type="pnode-ref-type" use="required"/>
              <xs:attribute name="version" type="xs:nonNegativeInteger" use="required"/>
             </xs:complexType>
            </xs:element>

            <!-- all other stuff -->
            <xs:element name="data" type="xs:string"/>

           </xs:all>
          </xs:complexType>
         </xs:element> <!-- record-data -->

	</xs:all>
       </xs:complexType>
      </xs:element> <!-- record -->

     </xs:all>
     <xs:attribute name="pnode" type="pnode-ref-type" use="required"/>
     <xs:attribute name="version" type="xs:nonNegativeInteger" use="required"/>	
    </xs:complexType>
   </xs:element>

  </xs:all> 
 </xs:complexType>
</xs:element>

<!-- Type Definitions -->
<xs:simpleType name="pnode-type">
 <xs:restriction base="xs:ID">
  <xs:pattern value="{0-9}+"/>
 </xs:restriction>
</xs:simpleType>

<xs:simpleType name="pnode-ref-type">
 <xs:restriction base="xs:ID">
  <xs:pattern value="{0-9}+"/>
 </xs:restriction>
</xs:simpleType>

</xs:schema>