W3C

OASIS-SAML-Assertion-2_0

The document http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.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)
advanced UnqualifiedLocalElements .[not(@elementFormDefault) or @elementFormDefault = 'unqualified']/ (., @elementFormDefault)
basic UnqualifiedLocalAttributes .[not(@attributeFormDefault) or @attributeFormDefault = 'unqualified']/ (., @attributeFormDefault)
basic SchemaVersion ./@version
advanced BlockDefault ./@blockDefault
basic DocumentationElement .//xs:annotation/xs:documentation/ (.., ., .//*, .//@*)
basic IdentifierName .//.[matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$")]/ (@name)
basic ImportSchema ./xs:import[@namespace and @schemaLocation]/ (., @namespace, @schemaLocation)
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 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 GlobalComplexTypeAbstract ./xs:complexType[@abstract='true']/ (@abstract)
basic StringEnumerationType .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and xs:enumeration]/ (., @base, xs:enumeration/(., @value))
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)
advanced ComplexTypeOnlyAttributes .//xs:complexType/xs:attribute[../not(xs:choice or xs:sequence or xs:all or xs:anyAttribute or xs:group or xs:attributeGroup or xs:simpleContent or xs:complexContent)]/ (., ..,@use)
advanced ComplexTypeOnlyAttributeGroup .//xs:complexType/xs:attributeGroup[../not(xs:choice or xs:sequence or xs:all or xs:anyAttribute or xs:group or xs:simpleContent or xs:complexContent)]/(., ..,@ref)
basic ComplexTypeSequence .//xs:complexType/xs:sequence/ (., xs:element/(., @name))
advanced ComplexTypeAnyAttribute .//xs:complexType/xs:anyAttribute
advanced AnyAttributeOtherLax .//xs:complexType/xs:anyAttribute[(@processContents = 'lax') and (@namespace = '##other')]/ (., @processContents, @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 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 ChoiceChoice .//xs:choice/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 NillableElement .//xs:element[@nillable = 'true' and not(@minOccurs = '0')]/ (@nillable)
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 AttributeTypeReference .//xs:attribute[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and contains(@type, ':')]/ (., @name, @type)
advanced AnyTypeElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:anyType')]
basic StringAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:string')]
basic DateTimeAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:dateTime')]
basic AnyURIElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:anyURI')]
basic AnyURIAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:anyURI')]
basic NCNameElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:NCName')]
basic NCNameAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:NCName')]
advanced IDAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:ID')]
basic NonNegativeIntegerAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:nonNegativeInteger')]
basic ComplexTypeAttributeExtension .//xs:complexType/xs:complexContent[xs:extension[@base]/xs:attribute]/ (., xs:extension/(., @base, xs:attribute/(., @name)))
basic ComplexTypeSequenceExtension .//xs:complexType/xs:complexContent[xs:extension[@base]/xs:sequence]/ (., xs:extension/ (., @base, xs:sequence/(., xs:element/(., @name))))
advanced GlobalComplexTypeEmptyExtension ./xs:complexType[@name]/xs:complexContent[xs:extension[@base]/not(*)]/ (../../(., @name), .., ., xs:extension/(., @base))
advanced ChoiceMaxOccursUnbounded .//xs:choice[@maxOccurs = 'unbounded']/ (@maxOccurs)
advanced ChoiceMinOccurs0 .//xs:choice[@minOccurs='0']/ (@minOccurs)
advanced AttributeGroup .//xs:attributeGroup/(.,@name,@ref,xs:attribute)
advanced ComplexTypeChoiceExtension .//xs:complexType/xs:complexContent[xs:extension[@base]/xs:choice]/ (., xs:extension/ (., @base, xs:choice/(., xs:element/(., @name))))
advanced ComplexTypeAttributeRestriction .//xs:complexType/xs:complexContent[xs:restriction[@base]/xs:attribute]/ (., xs:restriction/(., @base, xs:attribute/(., @name)))
advanced ComplexTypeSequenceRestriction .//xs:complexType/xs:complexContent[xs:restriction[@base]/xs:sequence]/ (., xs:restriction/(., @base, xs:sequence))
advanced ComplexContentRestrictionAnyAttribute .//xs:complexType/xs:complexContent/xs:restriction/xs:anyAttribute/(., @namespace, @processContents)
advanced ComplexTypeChoiceAny .//xs:complexType/xs:choice/xs:any/(., @namespace, @processContents, @maxOccurs, @minOccurs)
advanced ComplexTypeExtension .//xs:complexType/xs:complexContent/xs:extension[@base]/(., @base, ../(.))

<schema TargetNamespace UnqualifiedLocalElements UnqualifiedLocalAttributes GlobalComplexTypeEmptyExtension targetNamespace="urn:oasis:names:tc:SAML:2.0:assertion" TargetNamespace elementFormDefault="unqualified" UnqualifiedLocalElements attributeFormDefault="unqualified" UnqualifiedLocalAttributes blockDefault="substitution" BlockDefault version="2.0" SchemaVersion >
<import ImportSchema namespace="http://www.w3.org/2000/09/xmldsig#" ImportSchema schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd" ImportSchema />
<import ImportSchema namespace="http://www.w3.org/2001/04/xmlenc#" ImportSchema schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd" ImportSchema />
<annotation DocumentationElement >
<documentation DocumentationElement >
Document identifier: saml-schema-assertion-2.0 Location: http://docs.oasis-open.org/security/saml/v2.0/ Revision history: V1.0 (November, 2002): Initial Standard Schema. V1.1 (September, 2003): Updates within the same V1.0 namespace. V2.0 (March, 2005): New assertion schema for SAML V2.0 namespace.
</documentation>
</annotation>
<attributeGroup AttributeGroup name="IDNameQualifiers" IdentifierName AttributeGroup >
<attribute AttributeGroup name="NameQualifier" IdentifierName type="string" StringAttribute use="optional" AttributeOptional />
<attribute AttributeGroup name="SPNameQualifier" IdentifierName type="string" StringAttribute use="optional" AttributeOptional />
</attributeGroup>
<complexType GlobalComplexType name="NameIDType" IdentifierName GlobalComplexType >
<simpleContent ExtendedSimpleContent >
<extension ExtendedSimpleContent base="string" ExtendedSimpleContent >
<attributeGroup AttributeGroup ref="saml:IDNameQualifiers" AttributeGroup />
<attribute ExtendedSimpleContent name="Format" IdentifierName ExtendedSimpleContent type="anyURI" AnyURIAttribute use="optional" AttributeOptional />
<attribute ExtendedSimpleContent name="SPProvidedID" IdentifierName ExtendedSimpleContent type="string" StringAttribute use="optional" AttributeOptional />
</extension>
</simpleContent>
</complexType>
<complexType GlobalComplexType name="EncryptedElementType" IdentifierName GlobalComplexType ></complexType>
<complexType GlobalComplexType name="AssertionType" IdentifierName GlobalComplexType >
<attribute ComplexTypeAttribute name="Version" IdentifierName ComplexTypeAttribute type="string" StringAttribute use="required" AttributeRequired />
<attribute ComplexTypeAttribute name="IssueInstant" IdentifierName ComplexTypeAttribute type="dateTime" DateTimeAttribute use="required" AttributeRequired />
</complexType>
<complexType GlobalComplexType name="SubjectType" IdentifierName GlobalComplexType >
<choice ComplexTypeChoice >
<sequence ChoiceSequence >
<choice SequenceChoice >
<element ChoiceElement ElementReference ref="saml:BaseID" ElementReference />
<element ChoiceElement ElementReference ref="saml:NameID" ElementReference />
<element ChoiceElement ElementReference ref="saml:EncryptedID" ElementReference />
</choice>
</sequence>
<element ComplexTypeChoice ChoiceElement ElementReference ref="saml:SubjectConfirmation" ElementReference maxOccurs="unbounded" ElementMinOccurs1MaxOccursUnbounded />
</choice>
</complexType>
<element GlobalElement ElementTypeReference name="SubjectConfirmation" IdentifierName GlobalElement ElementTypeReference type="saml:SubjectConfirmationType" GlobalElement ElementTypeReference />
<complexType GlobalComplexType name="SubjectConfirmationType" IdentifierName GlobalComplexType >
<attribute ComplexTypeAttribute name="Method" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="required" AttributeRequired />
</complexType>
<element GlobalElement ElementTypeReference name="SubjectConfirmationData" IdentifierName GlobalElement ElementTypeReference type="saml:SubjectConfirmationDataType" GlobalElement ElementTypeReference />
<complexType GlobalComplexType name="SubjectConfirmationDataType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<complexContent ComplexTypeAttributeRestriction ComplexTypeSequenceRestriction ></complexContent>
</complexType>
<complexType GlobalComplexType name="KeyInfoConfirmationDataType" IdentifierName GlobalComplexType mixed="false" NotMixed >
<complexContent ComplexTypeSequenceRestriction ></complexContent>
</complexType>
<complexType GlobalComplexType name="ConditionsType" IdentifierName GlobalComplexType >
<choice ComplexTypeChoice minOccurs="0" ChoiceMinOccurs0 maxOccurs="unbounded" ChoiceMaxOccursUnbounded >
<element ComplexTypeChoice ChoiceElement ElementReference ref="saml:AudienceRestriction" ElementReference />
<element ComplexTypeChoice ChoiceElement ElementReference ref="saml:ProxyRestriction" ElementReference />
</choice>
<attribute ComplexTypeAttribute name="NotBefore" IdentifierName ComplexTypeAttribute type="dateTime" DateTimeAttribute use="optional" AttributeOptional />
<attribute ComplexTypeAttribute name="NotOnOrAfter" IdentifierName ComplexTypeAttribute type="dateTime" DateTimeAttribute use="optional" AttributeOptional />
</complexType>
<complexType GlobalComplexType name="ConditionAbstractType" IdentifierName GlobalComplexType abstract="true" GlobalComplexTypeAbstract />
<element GlobalElement ElementTypeReference name="AudienceRestriction" IdentifierName GlobalElement ElementTypeReference type="saml:AudienceRestrictionType" GlobalElement ElementTypeReference />
<complexType GlobalComplexType name="AdviceType" IdentifierName GlobalComplexType >
<choice ComplexTypeChoice minOccurs="0" ChoiceMinOccurs0 maxOccurs="unbounded" ChoiceMaxOccursUnbounded >
<element ComplexTypeChoice ChoiceElement ElementReference ref="saml:AssertionURIRef" ElementReference />
<element ComplexTypeChoice ChoiceElement ElementReference ref="saml:EncryptedAssertion" ElementReference />
<any ComplexTypeChoiceAny namespace="##other" ComplexTypeChoiceAny processContents="lax" ComplexTypeChoiceAny />
</choice>
</complexType>
<element GlobalElement ElementTypeReference name="EncryptedAssertion" IdentifierName GlobalElement ElementTypeReference type="saml:EncryptedElementType" GlobalElement ElementTypeReference />
<complexType GlobalComplexType name="StatementAbstractType" IdentifierName GlobalComplexType abstract="true" GlobalComplexTypeAbstract />
<complexType GlobalComplexType name="AuthnContextType" IdentifierName GlobalComplexType >
<sequence ComplexTypeSequence >
<choice ComplexTypeSequenceChoice SequenceChoice >
<sequence ChoiceSequence >
<element SequenceElement ElementReference ref="saml:AuthnContextClassRef" ElementReference />
<choice SequenceChoice minOccurs="0" ChoiceMinOccurs0 >
<element ChoiceElement ElementReference ref="saml:AuthnContextDecl" ElementReference />
<element ChoiceElement ElementReference ref="saml:AuthnContextDeclRef" ElementReference />
</choice>
</sequence>
<choice ChoiceChoice >
<element ChoiceElement ElementReference ref="saml:AuthnContextDecl" ElementReference />
<element ChoiceElement ElementReference ref="saml:AuthnContextDeclRef" ElementReference />
</choice>
</choice>
</sequence>
</complexType>
<element GlobalElement ElementTypeReference name="AuthzDecisionStatement" IdentifierName GlobalElement ElementTypeReference type="saml:AuthzDecisionStatementType" GlobalElement ElementTypeReference />
<simpleType GlobalSimpleType name="DecisionType" IdentifierName GlobalSimpleType >
<restriction StringEnumerationType base="string" StringEnumerationType >
<enumeration StringEnumerationType value="Permit" StringEnumerationType />
<enumeration StringEnumerationType value="Deny" StringEnumerationType />
<enumeration StringEnumerationType value="Indeterminate" StringEnumerationType />
</restriction>
</simpleType>
<complexType GlobalComplexType name="ActionType" IdentifierName GlobalComplexType >
<simpleContent ExtendedSimpleContent >
<extension ExtendedSimpleContent base="string" ExtendedSimpleContent >
<attribute ExtendedSimpleContent name="Namespace" IdentifierName ExtendedSimpleContent type="anyURI" AnyURIAttribute use="required" AttributeRequired />
</extension>
</simpleContent>
</complexType>
<complexType GlobalComplexType name="EvidenceType" IdentifierName GlobalComplexType >
<choice ComplexTypeChoice maxOccurs="unbounded" ChoiceMaxOccursUnbounded >
<element ComplexTypeChoice ChoiceElement ElementReference ref="saml:AssertionURIRef" ElementReference />
<element ComplexTypeChoice ChoiceElement ElementReference ref="saml:EncryptedAssertion" ElementReference />
</choice>
</complexType>
<element GlobalElement ElementTypeReference name="AttributeStatement" IdentifierName GlobalElement ElementTypeReference type="saml:AttributeStatementType" GlobalElement ElementTypeReference />
<complexType GlobalComplexType name="AttributeStatementType" IdentifierName GlobalComplexType >
<complexContent ComplexTypeChoiceExtension ComplexTypeExtension ></complexContent>
</complexType>
<complexType GlobalComplexType name="AttributeType" IdentifierName GlobalComplexType >
<attribute ComplexTypeAttribute name="Name" IdentifierName ComplexTypeAttribute type="string" StringAttribute use="required" AttributeRequired />
<attribute ComplexTypeAttribute name="NameFormat" IdentifierName ComplexTypeAttribute type="anyURI" AnyURIAttribute use="optional" AttributeOptional />
<attribute ComplexTypeAttribute name="FriendlyName" IdentifierName ComplexTypeAttribute type="string" StringAttribute use="optional" AttributeOptional />
<anyAttribute ComplexTypeAnyAttribute AnyAttributeOtherLax namespace="##other" AnyAttributeOtherLax processContents="lax" AnyAttributeOtherLax />
</complexType>
<element GlobalElement ElementTypeReference name="EncryptedAttribute" IdentifierName GlobalElement ElementTypeReference type="saml:EncryptedElementType" GlobalElement ElementTypeReference />
</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).