Schema

View: New views
2 Messages — Rating Filter:   Alert me  

Schema

by lissette :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I have this schema, I have not done it but I need this because other Schema import this:

<?xml version="1.0" encoding="UTF-8" ?>
<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="binary">
                        <encoding value="base64" />
                </restriction>
        </simpleType>
        <!-- Start Signature -->
        <element name="Signature">
                <complexType>
                        <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>
        <!-- Start SignedInfo -->
        <element name="SignedInfo">
                <complexType>
                        <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>
        <element name="CanonicalizationMethod">
                <complexType>
                        <sequence>
                                <any namespace="##any" minOccurs="0" maxOccurs="unbounded" />
                        </sequence>
                        <attribute name="Algorithm" type="uriReference" use="required" />
                </complexType>
        </element>
        <element name="SignatureMethod">
                <complexType>
                        <sequence>
                                <any namespace="##any" minOccurs="0" maxOccurs="unbounded" />
                        </sequence>
                        <attribute name="Algorithm" type="uriReference" use="required" />
                </complexType>
        </element>
        <element name="SignatureValue" type="ds:CryptoBinary" />
        <!-- Start Reference -->
        <element name="Reference">
                <complexType>
                        <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="uriReference" use="optional" />
                        <attribute name="Type" type="uriReference" use="optional" />
                </complexType>
        </element>
        <element name="Transforms">
                <complexType>
                        <sequence>
                                <element ref="ds:Transform" maxOccurs="unbounded" />
                        </sequence>
                </complexType>
        </element>
        <element name="Transform">
                <complexType>
                        <choice maxOccurs="unbounded">
                                <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
                                <element name="XSLT" type="string" />
                                <!--should be an xsl:stylesheet element -->
                                <element name="XPath" type="string" />
                        </choice>
                        <attribute name="Algorithm" type="uriReference" use="required" />
                </complexType>
        </element>
        <!-- End Reference -->
        <element name="DigestMethod">
                <complexType>
                        <sequence>
                                <any processContents="lax" minOccurs="0" maxOccurs="unbounded" namespace="##any" />
                        </sequence>
                        <attribute name="Algorithm" type="uriReference" use="required" />
                </complexType>
        </element>
        <element name="DigestValue" type="ds:CryptoBinary" />
        <!--  End SignedInfo -->
        <!--  Start KeyInfo -->
        <element name="KeyInfo">
                <complexType>
                        <choice maxOccurs="unbounded">
                                <any processContents="lax" namespace="##other" minOccurs="0" maxOccurs="unbounded" />
                                <element name="KeyName" type="string" />
                                <element ref="ds:KeyValue" />
                                <element ref="ds:RetrievalMethod" />
                                <element ref="ds:X509Data" />
                                <element ref="ds:PGPData" />
                                <element ref="ds:SPKIData" />
                                <element name="MgmtData" type="string" />
                        </choice>
                        <attribute name="Id" type="ID" use="optional" />
                </complexType>
        </element>
        <element name="KeyValue">
                <complexType mixed="true">
                        <choice>
                                <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
                                <element ref="ds:DSAKeyValue" />
                                <element ref="ds:RSAKeyValue" />
                        </choice>
                </complexType>
        </element>
        <element name="RetrievalMethod">
                <complexType>
                        <sequence>
                                <element ref="ds:Transforms" minOccurs="0" />
                        </sequence>
                        <attribute name="URI" type="uriReference" />
                        <attribute name="Type" type="uriReference" use="optional" />
                </complexType>
        </element>
        <!-- Start X509Data -->
        <element name="X509Data">
                <complexType>
                        <choice>
                                <sequence maxOccurs="unbounded">
                                        <choice>
                                                <element ref="ds:X509IssuerSerial" />
                                                <element name="X509SKI" type="ds:CryptoBinary" />
                                                <element name="X509SubjectName" type="string" />
                                                <element name="X509Certificate" type="ds:CryptoBinary" />
                                        </choice>
                                </sequence>
                                <element name="X509CRL" type="ds:CryptoBinary" />
                        </choice>
                </complexType>
        </element>
        <element name="X509IssuerSerial">
                <complexType>
                        <sequence>
                                <element name="X509IssuerName" type="string" />
                                <element name="X509SerialNumber" type="integer" />
                        </sequence>
                </complexType>
        </element>
        <!-- End X509Data -->
        <!-- Begin PGPData -->
        <element name="PGPData">
                <complexType>
                        <choice>
                                <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
                                <sequence>
                                        <element name="PGPKeyID" type="string" />
                                        <element name="PGPKeyPacket" type="ds:CryptoBinary" />
                                </sequence>
                        </choice>
                </complexType>
        </element>
        <!-- End PGPData -->
        <!-- Begin SPKIData -->
        <element name="SPKIData" type="string" />
        <!--  End SPKIData -->
        <!--  End KeyInfo -->
        <!--  Start Object (Manifest, SignatureProperty) -->
        <element name="Object">
                <complexType mixed="true">
                        <sequence 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="uriReference" use="optional" />
                </complexType>
        </element>
        <element name="Manifest">
                <complexType>
                        <sequence>
                                <element ref="ds:Reference" maxOccurs="unbounded" />
                        </sequence>
                        <attribute name="Id" type="ID" use="optional" />
                </complexType>
        </element>
        <element name="SignatureProperties">
                <complexType>
                        <sequence>
                                <element ref="ds:SignatureProperty" maxOccurs="unbounded" />
                        </sequence>
                        <attribute name="Id" type="ID" use="optional" />
                </complexType>
        </element>
        <element name="SignatureProperty">
                <complexType mixed="true">
                        <choice minOccurs="0" maxOccurs="unbounded">
                                <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
                        </choice>
                        <attribute name="Target" type="uriReference" use="required" />
                        <attribute name="Id" type="ID" use="optional" />
                </complexType>
        </element>
        <!-- End Object (Manifest, SignatureProperty) -->
        <!--  Start Algorithm Parameters -->
        <element name="HMACOutputLength" type="integer" />
        <!--  Start KeyValue Element-types -->
        <element name="DSAKeyValue">
                <complexType>
                        <sequence>
                                <sequence>
                                        <element name="P" type="ds:CryptoBinary" />
                                        <element name="Q" type="ds:CryptoBinary" />
                                        <element name="G" type="ds:CryptoBinary" />
                                        <element name="Y" type="ds:CryptoBinary" />
                                        <element name="J" type="ds:CryptoBinary" minOccurs="0" />
                                </sequence>
                                <sequence minOccurs="0">
                                        <element name="Seed" type="ds:CryptoBinary" />
                                        <element name="PgenCounter" type="ds:CryptoBinary" />
                                </sequence>
                        </sequence>
                </complexType>
        </element>
        <element name="RSAKeyValue">
                <complexType>
                        <sequence>
                                <element name="Modulus" type="ds:CryptoBinary" />
                                <element name="Exponent" type="ds:CryptoBinary" />
                        </sequence>
                </complexType>
        </element>
        <!-- End KeyValue Element-types -->
        <!--  End Signature -->
</schema>

I obtain this error:
Element enconding is not allowed under element restriction. Could you help me? What element put under restriction? thanks very much

Re: Schema

by Henry S. Thompson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Replace
                <restriction base="binary">
                        <encoding value="base64" />
                </restriction>
with
                <restriction base="base64Binary"/>

and replace all references to 'uriReference' with 'anyURI' and you
should be fine.

ht
- --
 Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                     Half-time member of W3C Team
    2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
            Fax: (44) 131 650-4587, e-mail: ht@...
                   URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFGgj6SkjnJixAXWBoRAsxkAJ0Z5tGclb6rVyFQXs6Ob5wisAqJtACffvwo
CcdHzKqoPuiMY/Kbiakvlvw=
=y7rO
-----END PGP SIGNATURE-----