<?xml version="1.0" encoding="UTF-8"?> 
 | 
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"> 
 | 
<!-- Schema for XML Signatures 
 | 
    http://www.w3.org/2000/09/xmldsig# 
 | 
    $Revision: 1.2 $ on $Date: 2013-04-16 12:48:49 $ by $Author: denis $ 
 | 
  
 | 
    Copyright 2001 The Internet Society and W3C (Massachusetts Institute 
 | 
    of Technology, Institut National de Recherche en Informatique et en 
 | 
    Automatique, Keio University). All Rights Reserved. 
 | 
    http://www.w3.org/Consortium/Legal/ 
 | 
  
 | 
    This document is governed by the W3C Software License [1] as described 
 | 
    in the FAQ [2]. 
 | 
  
 | 
    [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720 
 | 
    [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD 
 | 
--> 
 | 
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" elementFormDefault="qualified">  
 | 
  
 | 
<!-- Basic Types Defined for Signatures --> 
 | 
  
 | 
<simpleType name="CryptoBinary"> 
 | 
  <restriction base="base64Binary"> 
 | 
  </restriction> 
 | 
</simpleType> 
 | 
  
 | 
<!-- Start Signature --> 
 | 
  
 | 
<element name="Signature" type="ds:SignatureType"/> 
 | 
<complexType name="SignatureType"> 
 | 
  <sequence>  
 | 
    <element ref="ds:SignedInfo"/>  
 | 
    <element ref="ds:SignatureValue"/>  
 | 
    <element ref="ds:KeyInfo" minOccurs="0"/>  
 | 
    <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>  
 | 
  </sequence>   
 | 
  <attribute name="Id" type="ID" use="optional"/> 
 | 
</complexType> 
 | 
  
 | 
  <element name="SignatureValue" type="ds:SignatureValueType"/>  
 | 
  <complexType name="SignatureValueType"> 
 | 
    <simpleContent> 
 | 
      <extension base="base64Binary"> 
 | 
        <attribute name="Id" type="ID" use="optional"/> 
 | 
      </extension> 
 | 
    </simpleContent> 
 | 
  </complexType> 
 | 
  
 | 
<!-- Start SignedInfo --> 
 | 
  
 | 
<element name="SignedInfo" type="ds:SignedInfoType"/> 
 | 
<complexType name="SignedInfoType"> 
 | 
  <sequence>  
 | 
    <element ref="ds:CanonicalizationMethod"/>  
 | 
    <element ref="ds:SignatureMethod"/>  
 | 
    <element ref="ds:Reference" maxOccurs="unbounded"/>  
 | 
  </sequence>   
 | 
  <attribute name="Id" type="ID" use="optional"/>  
 | 
</complexType> 
 | 
  
 | 
  <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>  
 | 
  <complexType name="CanonicalizationMethodType" mixed="true"> 
 | 
    <sequence> 
 | 
      <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/> 
 | 
      <!-- (0,unbounded) elements from (1,1) namespace --> 
 | 
    </sequence> 
 | 
    <attribute name="Algorithm" type="anyURI" use="required"/>  
 | 
  </complexType> 
 | 
  
 | 
  <element name="SignatureMethod" type="ds:SignatureMethodType"/> 
 | 
  <complexType name="SignatureMethodType" mixed="true"> 
 | 
    <sequence> 
 | 
      <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/> 
 | 
      <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> 
 | 
      <!-- (0,unbounded) elements from (1,1) external namespace --> 
 | 
    </sequence> 
 | 
    <attribute name="Algorithm" type="anyURI" use="required"/>  
 | 
  </complexType> 
 | 
  
 | 
<!-- Start Reference --> 
 | 
  
 | 
<element name="Reference" type="ds:ReferenceType"/> 
 | 
<complexType name="ReferenceType"> 
 | 
  <sequence>  
 | 
    <element ref="ds:Transforms" minOccurs="0"/>  
 | 
    <element ref="ds:DigestMethod"/>  
 | 
    <element ref="ds:DigestValue"/>  
 | 
  </sequence> 
 | 
  <attribute name="Id" type="ID" use="optional"/>  
 | 
  <attribute name="URI" type="anyURI" use="optional"/>  
 | 
  <attribute name="Type" type="anyURI" use="optional"/>  
 | 
</complexType> 
 | 
  
 | 
  <element name="Transforms" type="ds:TransformsType"/> 
 | 
  <complexType name="TransformsType"> 
 | 
    <sequence> 
 | 
      <element ref="ds:Transform" maxOccurs="unbounded"/>   
 | 
    </sequence> 
 | 
  </complexType> 
 | 
  
 | 
  <element name="Transform" type="ds:TransformType"/> 
 | 
  <complexType name="TransformType" mixed="true"> 
 | 
    <choice minOccurs="0" maxOccurs="unbounded">  
 | 
      <any namespace="##other" processContents="lax"/> 
 | 
      <!-- (1,1) elements from (0,unbounded) namespaces --> 
 | 
      <element name="XPath" type="string"/>  
 | 
    </choice> 
 | 
    <attribute name="Algorithm" type="anyURI" use="required"/>  
 | 
  </complexType> 
 | 
  
 | 
<!-- End Reference --> 
 | 
  
 | 
<element name="DigestMethod" type="ds:DigestMethodType"/> 
 | 
<complexType name="DigestMethodType" mixed="true">  
 | 
  <sequence> 
 | 
    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> 
 | 
  </sequence>     
 | 
  <attribute name="Algorithm" type="anyURI" use="required"/>  
 | 
</complexType> 
 | 
  
 | 
<element name="DigestValue" type="ds:DigestValueType"/> 
 | 
<simpleType name="DigestValueType"> 
 | 
  <restriction base="base64Binary"/> 
 | 
</simpleType> 
 | 
  
 | 
<!-- End SignedInfo --> 
 | 
  
 | 
<!-- Start KeyInfo --> 
 | 
  
 | 
<element name="KeyInfo" type="ds:KeyInfoType"/>  
 | 
<complexType name="KeyInfoType" mixed="true"> 
 | 
  <choice maxOccurs="unbounded">      
 | 
    <element ref="ds:KeyName"/>  
 | 
    <element ref="ds:KeyValue"/>  
 | 
    <element ref="ds:RetrievalMethod"/>  
 | 
    <element ref="ds:X509Data"/>  
 | 
    <element ref="ds:PGPData"/>  
 | 
    <element ref="ds:SPKIData"/> 
 | 
    <element ref="ds:MgmtData"/> 
 | 
    <any processContents="lax" namespace="##other"/> 
 | 
    <!-- (1,1) elements from (0,unbounded) namespaces --> 
 | 
  </choice> 
 | 
  <attribute name="Id" type="ID" use="optional"/>  
 | 
</complexType> 
 | 
  
 | 
  <element name="KeyName" type="string"/> 
 | 
  <element name="MgmtData" type="string"/> 
 | 
  
 | 
  <element name="KeyValue" type="ds:KeyValueType"/>  
 | 
  <complexType name="KeyValueType" mixed="true"> 
 | 
   <choice> 
 | 
     <element ref="ds:DSAKeyValue"/> 
 | 
     <element ref="ds:RSAKeyValue"/> 
 | 
     <any namespace="##other" processContents="lax"/> 
 | 
   </choice> 
 | 
  </complexType> 
 | 
  
 | 
  <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>  
 | 
  <complexType name="RetrievalMethodType"> 
 | 
    <sequence> 
 | 
      <element ref="ds:Transforms" minOccurs="0"/>  
 | 
    </sequence>   
 | 
    <attribute name="URI" type="anyURI"/> 
 | 
    <attribute name="Type" type="anyURI" use="optional"/> 
 | 
  </complexType> 
 | 
  
 | 
<!-- Start X509Data --> 
 | 
  
 | 
<element name="X509Data" type="ds:X509DataType"/>  
 | 
<complexType name="X509DataType"> 
 | 
  <sequence maxOccurs="unbounded"> 
 | 
    <choice> 
 | 
      <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/> 
 | 
      <element name="X509SKI" type="base64Binary"/> 
 | 
      <element name="X509SubjectName" type="string"/> 
 | 
      <element name="X509Certificate" type="base64Binary"/> 
 | 
      <element name="X509CRL" type="base64Binary"/> 
 | 
      <any namespace="##other" processContents="lax"/> 
 | 
    </choice> 
 | 
  </sequence> 
 | 
</complexType> 
 | 
  
 | 
<complexType name="X509IssuerSerialType">  
 | 
  <sequence>  
 | 
    <element name="X509IssuerName" type="string"/>  
 | 
    <element name="X509SerialNumber" type="integer"/>  
 | 
  </sequence> 
 | 
</complexType> 
 | 
  
 | 
<!-- End X509Data --> 
 | 
  
 | 
<!-- Begin PGPData --> 
 | 
  
 | 
<element name="PGPData" type="ds:PGPDataType"/>  
 | 
<complexType name="PGPDataType">  
 | 
  <choice> 
 | 
    <sequence> 
 | 
      <element name="PGPKeyID" type="base64Binary"/>  
 | 
      <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>  
 | 
      <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> 
 | 
    </sequence> 
 | 
    <sequence> 
 | 
      <element name="PGPKeyPacket" type="base64Binary"/>  
 | 
      <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> 
 | 
    </sequence> 
 | 
  </choice> 
 | 
</complexType> 
 | 
  
 | 
<!-- End PGPData --> 
 | 
  
 | 
<!-- Begin SPKIData --> 
 | 
  
 | 
<element name="SPKIData" type="ds:SPKIDataType"/>  
 | 
<complexType name="SPKIDataType"> 
 | 
  <sequence maxOccurs="unbounded"> 
 | 
    <element name="SPKISexp" type="base64Binary"/> 
 | 
    <any namespace="##other" processContents="lax" minOccurs="0"/> 
 | 
  </sequence> 
 | 
</complexType>  
 | 
  
 | 
<!-- End SPKIData --> 
 | 
  
 | 
<!-- End KeyInfo --> 
 | 
  
 | 
<!-- Start Object (Manifest, SignatureProperty) --> 
 | 
  
 | 
<element name="Object" type="ds:ObjectType"/>  
 | 
<complexType name="ObjectType" mixed="true"> 
 | 
  <sequence minOccurs="0" maxOccurs="unbounded"> 
 | 
    <any namespace="##any" processContents="lax"/> 
 | 
  </sequence> 
 | 
  <attribute name="Id" type="ID" use="optional"/>  
 | 
  <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet --> 
 | 
  <attribute name="Encoding" type="anyURI" use="optional"/>  
 | 
</complexType> 
 | 
  
 | 
<element name="Manifest" type="ds:ManifestType"/>  
 | 
<complexType name="ManifestType"> 
 | 
  <sequence> 
 | 
    <element ref="ds:Reference" maxOccurs="unbounded"/>  
 | 
  </sequence> 
 | 
  <attribute name="Id" type="ID" use="optional"/>  
 | 
</complexType> 
 | 
  
 | 
<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>  
 | 
<complexType name="SignaturePropertiesType"> 
 | 
  <sequence> 
 | 
    <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>  
 | 
  </sequence> 
 | 
  <attribute name="Id" type="ID" use="optional"/>  
 | 
</complexType> 
 | 
  
 | 
   <element name="SignatureProperty" type="ds:SignaturePropertyType"/>  
 | 
   <complexType name="SignaturePropertyType" mixed="true"> 
 | 
     <choice maxOccurs="unbounded"> 
 | 
       <any namespace="##other" processContents="lax"/> 
 | 
       <!-- (1,1) elements from (1,unbounded) namespaces --> 
 | 
     </choice> 
 | 
     <attribute name="Target" type="anyURI" use="required"/>  
 | 
     <attribute name="Id" type="ID" use="optional"/>  
 | 
   </complexType> 
 | 
  
 | 
<!-- End Object (Manifest, SignatureProperty) --> 
 | 
  
 | 
<!-- Start Algorithm Parameters --> 
 | 
  
 | 
<simpleType name="HMACOutputLengthType"> 
 | 
  <restriction base="integer"/> 
 | 
</simpleType> 
 | 
  
 | 
<!-- Start KeyValue Element-types --> 
 | 
  
 | 
<element name="DSAKeyValue" type="ds:DSAKeyValueType"/> 
 | 
<complexType name="DSAKeyValueType"> 
 | 
  <sequence> 
 | 
    <sequence minOccurs="0"> 
 | 
      <element name="P" type="ds:CryptoBinary"/> 
 | 
      <element name="Q" type="ds:CryptoBinary"/> 
 | 
    </sequence> 
 | 
    <element name="G" type="ds:CryptoBinary" minOccurs="0"/> 
 | 
    <element name="Y" type="ds:CryptoBinary"/> 
 | 
    <element name="J" type="ds:CryptoBinary" minOccurs="0"/> 
 | 
    <sequence minOccurs="0"> 
 | 
      <element name="Seed" type="ds:CryptoBinary"/> 
 | 
      <element name="PgenCounter" type="ds:CryptoBinary"/> 
 | 
    </sequence> 
 | 
  </sequence> 
 | 
</complexType> 
 | 
  
 | 
<element name="RSAKeyValue" type="ds:RSAKeyValueType"/> 
 | 
<complexType name="RSAKeyValueType"> 
 | 
  <sequence> 
 | 
    <element name="Modulus" type="ds:CryptoBinary"/>  
 | 
    <element name="Exponent" type="ds:CryptoBinary"/>  
 | 
  </sequence> 
 | 
</complexType>  
 | 
  
 | 
<!-- End KeyValue Element-types --> 
 | 
  
 | 
<!-- End Signature --> 
 | 
  
 | 
</schema> 
 |