<?xml version=“1.0” encoding=“utf-8”?> <!– ***************************************************–> <!– *** Schema específico para assinaturas XML ***–> <!– *** a partir de certificados do padrão (X509) ***–> <!– *** ICP-Brasil - Projeto Nota Fiscal Eletrônica ***–> <!– ***************************************************–> <!– Schema for XML Signatures–> <schema xmlns=“www.w3.org/2001/XMLSchema” xmlns:ds=“www.w3.org/2000/09/xmldsig#” targetNamespace=“www.w3.org/2000/09/xmldsig#” elementFormDefault=“qualified” attributeFormDefault=“unqualified” version=“0.1”>
<element name="Signature" type="ds:SignatureType"/> <complexType name="SignatureType"> <sequence> <element name="SignedInfo" type="ds:SignedInfoType"/> <element name="SignatureValue" type="ds:SignatureValueType"/> <element name="KeyInfo" type="ds:KeyInfoType"/> </sequence> <attribute name="Id" type="ID" use="optional"/> </complexType> <complexType name="SignatureValueType"> <simpleContent> <extension base="base64Binary"> <attribute name="Id" type="ID" use="optional"/> </extension> </simpleContent> </complexType> <complexType name="SignedInfoType"> <sequence> <element name="CanonicalizationMethod"> <complexType> <attribute name="Algorithm" type="anyURI" use="required" fixed="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> </complexType> </element> <element name="SignatureMethod"> <complexType> <attribute name="Algorithm" type="anyURI" use="required" fixed="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> </complexType> </element> <element name="Reference" type="ds:ReferenceType"/> </sequence> <attribute name="Id" type="ID" use="optional"/> </complexType> <complexType name="ReferenceType"> <sequence> <element name="Transforms" type="ds:TransformsType"> <!-- Garante a unicidade do atributo --> <unique name="unique_Transf_Alg"> <selector xpath="./*"/> <field xpath="@Algorithm"/> </unique> </element> <element name="DigestMethod"> <complexType> <attribute name="Algorithm" type="anyURI" use="required" fixed="http://www.w3.org/2000/09/xmldsig#sha1"/> </complexType> </element> <element name="DigestValue" type="ds:DigestValueType"/> </sequence> <attribute name="Id" type="ID" use="optional"/> <attribute name="URI" use="required"> <simpleType> <restriction base="anyURI"> <minLength value="2"/> </restriction> </simpleType> </attribute> <attribute name="Type" type="anyURI" use="optional"/> </complexType> <complexType name="TransformsType"> <sequence> <element name="Transform" type="ds:TransformType" minOccurs="2" maxOccurs="2"/> </sequence> </complexType> <complexType name="TransformType"> <sequence minOccurs="0" maxOccurs="unbounded"> <element name="XPath" type="string"/> </sequence> <attribute name="Algorithm" type="ds:TTransformURI" use="required"/> </complexType> <complexType name="KeyInfoType"> <sequence> <element name="X509Data" type="ds:X509DataType"/> </sequence> <attribute name="Id" type="ID" use="optional"/> </complexType> <complexType name="X509DataType"> <sequence> <element name="X509Certificate" type="base64Binary"/> </sequence> </complexType> <simpleType name="DigestValueType"> <restriction base="base64Binary"/> </simpleType> <simpleType name="TTransformURI"> <restriction base="anyURI"> <enumeration value="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <enumeration value="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> </restriction> </simpleType>
</schema>