W3C

W3C-xmldsig-core

The document http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd has been classified as being possibly an Advanced XML Schema Patterns for Databinding 1.0 conformant document as it only exhibits the following patterns:

Status Nodes Name XPath
basic TargetNamespace .[@targetNamespace]/ (., @targetNamespace)
basic QualifiedLocalElements .[@elementFormDefault = 'qualified']/ (@elementFormDefault)
basic UnqualifiedLocalAttributes .[not(@attributeFormDefault) or @attributeFormDefault = 'unqualified']/ (., @attributeFormDefault)
basic SchemaVersion ./@version
advanced FinalDefault ./@finalDefault
advanced BlockDefault ./@blockDefault
basic IdentifierName .//.[matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$")]/ (@name)
basic GlobalElement ./xs:element[@name and @type and contains(@type, ':')]/ (., @name, @type)
advanced GlobalElementUnqualifiedType ./xs:element[@name and @type and not(contains(@type, ':'))]/ (., @name, @type)
advanced ElementTypeDefaultNamespace .//xs:element[@name and @type and not(contains(@type, ':'))]/ (@name, @type)
basic NotMixed .//.[@mixed = 'false']/ (@mixed)
advanced MixedContentType .//xs:complexType[@mixed = 'true']/ (@mixed)
basic MinOccurs1 .//.[@minOccurs = '1']/ (@minOccurs)
basic MaxOccurs1 .//.[@maxOccurs = '1']/ (@maxOccurs)
basic ElementMinOccurs0 .//xs:element[@minOccurs = '0' and (not(@maxOccurs) or @maxOccurs = '1')]/ (@minOccurs, @maxOccurs)
basic ElementMinOccurs0MaxOccursUnbounded .//xs:element[@minOccurs = '0' and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs)
basic ElementMinOccurs1MaxOccursUnbounded .//xs:element[(not(@minOccurs) or @minOccurs = '1') and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs)
basic AttributeOptional .//xs:attribute[@use = 'optional']/ (@use)
advanced AttributeRequired .//xs:attribute[@use = 'required']/ (@use)
basic GlobalSimpleType ./xs:simpleType[@name]/ (., @name)
basic GlobalComplexType ./xs:complexType[@name]/ (., @name)
advanced ComplexTypeChoice .//xs:complexType/xs:choice/ (., xs:element/(., @name))
advanced ComplexTypeSequenceChoice .//xs:complexType/xs:sequence/xs:choice/ (., xs:element/(., @name))
basic ComplexTypeAttribute .//xs:complexType/xs:attribute[@name]/ (., @name)
basic ComplexTypeSequence .//xs:complexType/xs:sequence/ (., xs:element/(., @name))
basic SequenceSequenceElement .//xs:sequence/xs:sequence/xs:element/ (., ..)
advanced SequenceMinOccurs0 .//xs:sequence[@minOccurs = '0' and (not(@maxOccurs) or @maxOccurs = '1')]/ (@minOccurs, @maxOccurs)
advanced SequenceMinOccurs0MaxOccursUnbounded .//xs:sequence[@minOccurs = '0' and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs)
advanced SequenceMinOccurs1MaxOccursUnbounded .//xs:sequence[(not(@minOccurs) or @minOccurs = '1') and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs)
advanced ExtendedSequenceStrictAny .//xs:sequence/xs:any[(not(@processContents) or @processContents = 'strict') and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and (not(@namespace) or @namespace = '##any')]/ (., @processContents, @minOccurs, @maxOccurs, @namespace)
advanced ExtendedSequenceLaxAny .//xs:sequence/xs:any[@processContents = 'lax' and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and (not(@namespace) or @namespace = '##any')]/ (., @processContents, @minOccurs, @maxOccurs, @namespace)
advanced ExtendedSequenceStrictOther .//xs:sequence/xs:any[(not(@processContents) or @processContents = 'strict') and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and @namespace = '##other']/ (., @processContents, @minOccurs, @maxOccurs, @namespace)
advanced ExtendedSequenceLaxOther .//xs:sequence/xs:any[@processContents = 'lax' and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and @namespace = '##other']/ (., @processContents, @minOccurs, @maxOccurs, @namespace)
advanced SequenceAnyStrict .//xs:sequence/xs:any[(not(@processContents) or @processContents = 'strict') and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and (not (@namespace) or @namespace = '##any')]/ (., @processContents, @minOccurs, @maxOccurs, @namespace)
advanced ExtendedSimpleContent .//xs:complexType/xs:simpleContent/xs:extension[@base]/ (.., ., ./@base, xs:attribute/ (., @name))
advanced ChoiceSequence .//xs:choice/xs:sequence/(.)
advanced SequenceChoice .//xs:sequence/xs:choice/(.)
advanced ChoiceElement .//xs:choice/xs:element/(.)
basic SequenceElement .//xs:sequence/xs:element/(.)
basic SequenceSingleRepeatedElement .//xs:sequence[count(xs:element) = 1]/xs:element[@maxOccurs = 'unbounded']/ (., @maxOccurs)
basic ElementTypeReference .//xs:element[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and contains(@type, ':')]/ (., @name, @type)
basic ElementReference .//xs:element[@ref and contains(@ref, ':')]/ (., @ref)
basic StringElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:string')]
basic StringAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:string')]
basic Base64BinaryElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:base64Binary')]
basic AnyURIAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:anyURI')]
advanced IDAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:ID')]
advanced IntegerElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:integer')]
advanced SimpleTypeRenamed .//xs:simpleType/xs:restriction[@base and count(./*) = 0]/ (., @base)
advanced ChoiceMaxOccursUnbounded .//xs:choice[@maxOccurs = 'unbounded']/ (@maxOccurs)
advanced ChoiceMinOccurs0 .//xs:choice[@minOccurs='0']/ (@minOccurs)
advanced ComplexTypeChoiceAny .//xs:complexType/xs:choice/xs:any/(., @namespace, @processContents, @maxOccurs, @minOccurs)
advanced ComplexTypeSequenceChoiceAny .//xs:complexType/xs:sequence/xs:choice/xs:any/(., @namespace, @processContents, @maxOccurs, @minOccurs)

<schema TargetNamespace UnqualifiedLocalAttributes targetNamespace="http://www.w3.org/2000/09/xmldsig#" TargetNamespace version="0.1" SchemaVersion elementFormDefault="qualified" QualifiedLocalElements finalDefault="" FinalDefault blockDefault="" BlockDefault attributeFormDefault="unqualified" UnqualifiedLocalAttributes >
<!-- Basic Types Defined for Signatures -->
<simpleType GlobalSimpleType name="CryptoBinary" IdentifierName GlobalSimpleType >
<restriction SimpleTypeRenamed base="base64Binary" SimpleTypeRenamed />
</simpleType>
<!-- Start Signature -->
<complexType GlobalComplexType name="SignatureValueType" IdentifierName GlobalComplexType mixed="false" NotMixed >
<simpleContent ExtendedSimpleContent >
<extension ExtendedSimpleContent base="base64Binary" ExtendedSimpleContent ></extension>
</simpleContent>
</complexType>
<!-- Start SignedInfo -->
<complexType GlobalComplexType name="SignedInfoType" IdentifierName GlobalComplexType mixed="false" NotMixed >
<sequence ComplexTypeSequence >
<element ComplexTypeSequence SequenceElement ElementReference ref="ds:CanonicalizationMethod" ElementReference />
</sequence>
</complexType>
<element GlobalElement ElementTypeReference name="CanonicalizationMethod" IdentifierName GlobalElement ElementTypeReference type="ds:CanonicalizationMethodType" GlobalElement ElementTypeReference />
<complexType GlobalComplexType name="CanonicalizationMethodType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<sequence ComplexTypeSequence >
<!-- (0,unbounded) elements from (1,1) namespace -->
</sequence>
<attribute ComplexTypeAttribute name="Algorithm" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="required" AttributeRequired />
</complexType>
<complexType GlobalComplexType name="SignatureMethodType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<sequence ComplexTypeSequence >
<any ExtendedSequenceStrictOther namespace="##other" ExtendedSequenceStrictOther minOccurs="0" ExtendedSequenceStrictOther maxOccurs="unbounded" ExtendedSequenceStrictOther processContents="strict" ExtendedSequenceStrictOther />
<!-- (0,unbounded) elements from (1,1) external namespace -->
</sequence>
<attribute ComplexTypeAttribute name="Algorithm" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="required" AttributeRequired />
</complexType>
<!-- Start Reference -->
<complexType GlobalComplexType name="ReferenceType" IdentifierName GlobalComplexType mixed="false" NotMixed >
<attribute ComplexTypeAttribute name="URI" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="optional" AttributeOptional />
<attribute ComplexTypeAttribute name="Type" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="optional" AttributeOptional />
</complexType>
<complexType GlobalComplexType name="TransformType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<choice ComplexTypeChoice minOccurs="0" ChoiceMinOccurs0 maxOccurs="unbounded" ChoiceMaxOccursUnbounded >
<any ComplexTypeChoiceAny namespace="##other" ComplexTypeChoiceAny processContents="lax" ComplexTypeChoiceAny minOccurs="1" MinOccurs1 ComplexTypeChoiceAny maxOccurs="1" MaxOccurs1 ComplexTypeChoiceAny />
<!-- (1,1) elements from (0,unbounded) namespaces -->
</choice>
<attribute ComplexTypeAttribute name="Algorithm" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="required" AttributeRequired />
</complexType>
<!-- End Reference -->
<complexType GlobalComplexType name="DigestMethodType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<sequence ComplexTypeSequence >
<any ExtendedSequenceLaxOther namespace="##other" ExtendedSequenceLaxOther processContents="lax" ExtendedSequenceLaxOther minOccurs="0" ExtendedSequenceLaxOther maxOccurs="unbounded" ExtendedSequenceLaxOther />
</sequence>
<attribute ComplexTypeAttribute name="Algorithm" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="required" AttributeRequired />
</complexType>
<simpleType GlobalSimpleType name="DigestValueType" IdentifierName GlobalSimpleType >
<restriction SimpleTypeRenamed base="base64Binary" SimpleTypeRenamed />
</simpleType>
<!-- End SignedInfo -->
<!-- Start KeyInfo -->
<complexType GlobalComplexType name="KeyInfoType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<choice ComplexTypeChoice maxOccurs="unbounded" ChoiceMaxOccursUnbounded >
<any ComplexTypeChoiceAny processContents="lax" ComplexTypeChoiceAny namespace="##other" ComplexTypeChoiceAny minOccurs="1" MinOccurs1 ComplexTypeChoiceAny maxOccurs="1" MaxOccurs1 ComplexTypeChoiceAny />
<!-- (1,1) elements from (0,unbounded) namespaces -->
</choice>
</complexType>
<complexType GlobalComplexType name="KeyValueType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<choice ComplexTypeChoice >
<any ComplexTypeChoiceAny namespace="##other" ComplexTypeChoiceAny processContents="lax" ComplexTypeChoiceAny minOccurs="1" MinOccurs1 ComplexTypeChoiceAny maxOccurs="1" MaxOccurs1 ComplexTypeChoiceAny />
</choice>
</complexType>
<complexType GlobalComplexType name="RetrievalMethodType" IdentifierName GlobalComplexType mixed="false" NotMixed >
<sequence ComplexTypeSequence ></sequence>
<attribute ComplexTypeAttribute name="Type" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="optional" AttributeOptional />
</complexType>
<!-- Start X509Data -->
<complexType GlobalComplexType name="X509DataType" IdentifierName GlobalComplexType mixed="false" NotMixed ></complexType>
<!-- End X509Data -->
<!-- Begin PGPData -->
<complexType GlobalComplexType name="PGPDataType" IdentifierName GlobalComplexType mixed="false" NotMixed >
<choice ComplexTypeChoice >
<sequence ChoiceSequence >
<any ExtendedSequenceLaxOther namespace="##other" ExtendedSequenceLaxOther processContents="lax" ExtendedSequenceLaxOther minOccurs="0" ExtendedSequenceLaxOther maxOccurs="unbounded" ExtendedSequenceLaxOther />
</sequence>
<sequence ChoiceSequence >
<any ExtendedSequenceLaxOther namespace="##other" ExtendedSequenceLaxOther processContents="lax" ExtendedSequenceLaxOther minOccurs="0" ExtendedSequenceLaxOther maxOccurs="unbounded" ExtendedSequenceLaxOther />
</sequence>
</choice>
</complexType>
<!-- End PGPData -->
<!-- Begin SPKIData -->
<!-- End SPKIData -->
<!-- End KeyInfo -->
<!-- Start Object (Manifest, SignatureProperty) -->
<complexType GlobalComplexType name="ObjectType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<attribute ComplexTypeAttribute name="MimeType" IdentifierName ComplexTypeAttribute type="string" StringAttribute use="optional" AttributeOptional />
<!-- add a grep facet -->
<attribute ComplexTypeAttribute name="Encoding" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="optional" AttributeOptional />
</complexType>
<element GlobalElement ElementTypeReference name="SignatureProperties" IdentifierName GlobalElement ElementTypeReference type="ds:SignaturePropertiesType" GlobalElement ElementTypeReference />
<complexType GlobalComplexType name="SignaturePropertiesType" IdentifierName GlobalComplexType mixed="false" NotMixed > </complexType>
<complexType GlobalComplexType name="SignaturePropertyType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<choice ComplexTypeChoice maxOccurs="unbounded" ChoiceMaxOccursUnbounded >
<any ComplexTypeChoiceAny namespace="##other" ComplexTypeChoiceAny processContents="lax" ComplexTypeChoiceAny minOccurs="1" MinOccurs1 ComplexTypeChoiceAny maxOccurs="1" MaxOccurs1 ComplexTypeChoiceAny />
<!-- (1,1) elements from (1,unbounded) namespaces -->
</choice>
<attribute ComplexTypeAttribute name="Target" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="required" AttributeRequired />
</complexType>
<!-- End Object (Manifest, SignatureProperty) -->
<!-- Start Algorithm Parameters -->
<simpleType GlobalSimpleType name="HMACOutputLengthType" IdentifierName GlobalSimpleType >
<restriction SimpleTypeRenamed base="integer" SimpleTypeRenamed />
</simpleType>
<!-- Start KeyValue Element-types -->
<complexType GlobalComplexType name="DSAKeyValueType" IdentifierName GlobalComplexType mixed="false" NotMixed ></complexType>
<!-- End KeyValue Element-types -->
<!-- End Signature -->
</schema>

This document was produced by the W3C XML Schema Patterns for Databinding Working Group. Comments on this document may be sent to the public public-xsd-databinding-comments@w3.org mailing list (public archive).