W3C

OASIS-XACML-2_0-Policy

The document http://docs.oasis-open.org/xacml/2.0/access_control-xacml-2.0-policy-schema-os.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 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 MixedComplexContent .//xs:complexContent[@mixed = 'true']/ (@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)
advanced AttributeDefault .//xs:attribute[@default] / (@default)
basic GlobalSimpleType ./xs:simpleType[@name]/ (., @name)
basic GlobalComplexType ./xs:complexType[@name]/ (., @name)
advanced GlobalComplexTypeAbstract ./xs:complexType[@abstract='true']/ (@abstract)
advanced GlobalElementAbstract ./xs:element[@abstract='true']/ (@abstract)
basic StringEnumerationType .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and xs:enumeration]/ (., @base, xs:enumeration/(., @value))
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))
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 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 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)
basic StringElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:string')]
basic StringAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:string')]
basic BooleanAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:boolean')]
basic AnyURIElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:anyURI')]
basic AnyURIAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:anyURI')]
advanced StringSimpleTypePattern .//xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string')]/xs:pattern[@value]/ (.., ../@base, ., @value)
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 ChoiceMaxOccursUnbounded .//xs:choice[@maxOccurs = 'unbounded']/ (@maxOccurs)
advanced ChoiceMinOccurs0 .//xs:choice[@minOccurs='0']/ (@minOccurs)
advanced SubstitutionGroup .//xs:element[@substitutionGroup]/(.,@name,@substitutionGroup)
advanced ComplexContentExtensionAnyAttribute .//xs:complexType/xs:complexContent/xs:extension/xs:anyAttribute/(., @namespace, @processContents)
advanced ComplexTypeExtension .//xs:complexType/xs:complexContent/xs:extension[@base]/(., @base, ../(.))

<xs:schema TargetNamespace UnqualifiedLocalAttributes targetNamespace="urn:oasis:names:tc:xacml:2.0:policy:schema:os" TargetNamespace elementFormDefault="qualified" QualifiedLocalElements attributeFormDefault="unqualified" UnqualifiedLocalAttributes >
<!-- -->
<xs:complexType GlobalComplexType name="PolicySetType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence >
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:Description" ElementReference minOccurs="0" ElementMinOccurs0 />
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:PolicySetDefaults" ElementReference minOccurs="0" ElementMinOccurs0 />
<xs:choice ComplexTypeSequenceChoice SequenceChoice minOccurs="0" ChoiceMinOccurs0 maxOccurs="unbounded" ChoiceMaxOccursUnbounded >
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:PolicySetIdReference" ElementReference />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:PolicyIdReference" ElementReference />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:CombinerParameters" ElementReference />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:PolicyCombinerParameters" ElementReference />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:PolicySetCombinerParameters" ElementReference />
</xs:choice>
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:Obligations" ElementReference minOccurs="0" ElementMinOccurs0 />
</xs:sequence>
<xs:attribute ComplexTypeAttribute name="PolicySetId" IdentifierName ComplexTypeAttribute type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
<xs:attribute ComplexTypeAttribute name="PolicyCombiningAlgId" IdentifierName ComplexTypeAttribute type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference name="CombinerParameters" IdentifierName GlobalElement ElementTypeReference type="xacml:CombinerParametersType" GlobalElement ElementTypeReference />
<xs:complexType GlobalComplexType name="CombinerParametersType" IdentifierName GlobalComplexType ></xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference name="CombinerParameter" IdentifierName GlobalElement ElementTypeReference type="xacml:CombinerParameterType" GlobalElement ElementTypeReference />
<xs:complexType GlobalComplexType name="CombinerParameterType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence >
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:AttributeValue" ElementReference />
</xs:sequence>
<xs:attribute ComplexTypeAttribute name="ParameterName" IdentifierName ComplexTypeAttribute type="xs:string" StringAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference name="RuleCombinerParameters" IdentifierName GlobalElement ElementTypeReference type="xacml:RuleCombinerParametersType" GlobalElement ElementTypeReference />
<xs:complexType GlobalComplexType name="RuleCombinerParametersType" IdentifierName GlobalComplexType >
<xs:complexContent ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:extension ComplexTypeAttributeExtension ComplexTypeExtension base="xacml:CombinerParametersType" ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:attribute ComplexTypeAttributeExtension name="RuleIdRef" IdentifierName ComplexTypeAttributeExtension type="xs:string" StringAttribute use="required" AttributeRequired />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference name="PolicyCombinerParameters" IdentifierName GlobalElement ElementTypeReference type="xacml:PolicyCombinerParametersType" GlobalElement ElementTypeReference />
<xs:complexType GlobalComplexType name="PolicyCombinerParametersType" IdentifierName GlobalComplexType >
<xs:complexContent ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:extension ComplexTypeAttributeExtension ComplexTypeExtension base="xacml:CombinerParametersType" ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:attribute ComplexTypeAttributeExtension name="PolicyIdRef" IdentifierName ComplexTypeAttributeExtension type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference name="PolicySetCombinerParameters" IdentifierName GlobalElement ElementTypeReference type="xacml:PolicySetCombinerParametersType" GlobalElement ElementTypeReference />
<xs:complexType GlobalComplexType name="PolicySetCombinerParametersType" IdentifierName GlobalComplexType >
<xs:complexContent ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:extension ComplexTypeAttributeExtension ComplexTypeExtension base="xacml:CombinerParametersType" ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:attribute ComplexTypeAttributeExtension name="PolicySetIdRef" IdentifierName ComplexTypeAttributeExtension type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference name="PolicySetIdReference" IdentifierName GlobalElement ElementTypeReference type="xacml:IdReferenceType" GlobalElement ElementTypeReference />
<!-- -->
<xs:complexType GlobalComplexType name="DefaultsType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence ></xs:sequence>
</xs:complexType>
<!-- -->
<xs:element GlobalElement name="XPathVersion" IdentifierName GlobalElement type="xs:anyURI" GlobalElement AnyURIElement />
<!-- -->
<xs:complexType GlobalComplexType name="IdReferenceType" IdentifierName GlobalComplexType >
<xs:simpleContent ExtendedSimpleContent >
<xs:extension ExtendedSimpleContent base="xs:anyURI" ExtendedSimpleContent > </xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- -->
<xs:simpleType GlobalSimpleType name="VersionType" IdentifierName GlobalSimpleType >
<xs:restriction StringSimpleTypePattern base="xs:string" StringSimpleTypePattern >
<xs:pattern StringSimpleTypePattern value="(\d+\.)*\d+" StringSimpleTypePattern />
</xs:restriction>
</xs:simpleType>
<!-- -->
<xs:simpleType GlobalSimpleType name="VersionMatchType" IdentifierName GlobalSimpleType >
<xs:restriction StringSimpleTypePattern base="xs:string" StringSimpleTypePattern >
<xs:pattern StringSimpleTypePattern value="((\d+|\*)\.)*(\d+|\*|\+)" StringSimpleTypePattern />
</xs:restriction>
</xs:simpleType>
<!-- -->
<xs:complexType GlobalComplexType name="PolicyType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence >
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:Description" ElementReference minOccurs="0" ElementMinOccurs0 />
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:PolicyDefaults" ElementReference minOccurs="0" ElementMinOccurs0 />
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:CombinerParameters" ElementReference minOccurs="0" ElementMinOccurs0 />
<xs:choice ComplexTypeSequenceChoice SequenceChoice maxOccurs="unbounded" ChoiceMaxOccursUnbounded >
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:CombinerParameters" ElementReference minOccurs="0" ElementMinOccurs0 />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:RuleCombinerParameters" ElementReference minOccurs="0" ElementMinOccurs0 />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:VariableDefinition" ElementReference />
</xs:choice>
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:Obligations" ElementReference minOccurs="0" ElementMinOccurs0 />
</xs:sequence>
<xs:attribute ComplexTypeAttribute name="PolicyId" IdentifierName ComplexTypeAttribute type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
<xs:attribute ComplexTypeAttribute name="RuleCombiningAlgId" IdentifierName ComplexTypeAttribute type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:element GlobalElement name="Description" IdentifierName GlobalElement type="xs:string" GlobalElement StringElement />
<!-- -->
<xs:complexType GlobalComplexType name="RuleType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence >
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:Description" ElementReference minOccurs="0" ElementMinOccurs0 />
</xs:sequence>
<xs:attribute ComplexTypeAttribute name="RuleId" IdentifierName ComplexTypeAttribute type="xs:string" StringAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:simpleType GlobalSimpleType name="EffectType" IdentifierName GlobalSimpleType >
<xs:restriction StringEnumerationType base="xs:string" StringEnumerationType >
<xs:enumeration StringEnumerationType value="Permit" StringEnumerationType />
<xs:enumeration StringEnumerationType value="Deny" StringEnumerationType />
</xs:restriction>
</xs:simpleType>
<!-- -->
<xs:complexType GlobalComplexType name="TargetType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence >
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:Environments" ElementReference minOccurs="0" ElementMinOccurs0 />
</xs:sequence>
</xs:complexType>
<!-- -->
<!-- -->
<xs:complexType GlobalComplexType name="SubjectType" IdentifierName GlobalComplexType ></xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="ResourcesType" IdentifierName GlobalComplexType ></xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="ResourceType" IdentifierName GlobalComplexType ></xs:complexType>
<!-- -->
<!-- -->
<xs:complexType GlobalComplexType name="ActionType" IdentifierName GlobalComplexType ></xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="EnvironmentsType" IdentifierName GlobalComplexType ></xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="EnvironmentType" IdentifierName GlobalComplexType ></xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="SubjectMatchType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence >
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:AttributeValue" ElementReference />
<xs:choice ComplexTypeSequenceChoice SequenceChoice >
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:SubjectAttributeDesignator" ElementReference />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:AttributeSelector" ElementReference />
</xs:choice>
</xs:sequence>
<xs:attribute ComplexTypeAttribute name="MatchId" IdentifierName ComplexTypeAttribute type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="ResourceMatchType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence >
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:AttributeValue" ElementReference />
<xs:choice ComplexTypeSequenceChoice SequenceChoice >
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:ResourceAttributeDesignator" ElementReference />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:AttributeSelector" ElementReference />
</xs:choice>
</xs:sequence>
<xs:attribute ComplexTypeAttribute name="MatchId" IdentifierName ComplexTypeAttribute type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="ActionMatchType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence >
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:AttributeValue" ElementReference />
<xs:choice ComplexTypeSequenceChoice SequenceChoice >
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:ActionAttributeDesignator" ElementReference />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:AttributeSelector" ElementReference />
</xs:choice>
</xs:sequence>
<xs:attribute ComplexTypeAttribute name="MatchId" IdentifierName ComplexTypeAttribute type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference name="EnvironmentMatch" IdentifierName GlobalElement ElementTypeReference type="xacml:EnvironmentMatchType" GlobalElement ElementTypeReference />
<xs:complexType GlobalComplexType name="EnvironmentMatchType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence >
<xs:element ComplexTypeSequence SequenceElement ElementReference ref="xacml:AttributeValue" ElementReference />
<xs:choice ComplexTypeSequenceChoice SequenceChoice >
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:EnvironmentAttributeDesignator" ElementReference />
<xs:element ComplexTypeSequenceChoice ChoiceElement ElementReference ref="xacml:AttributeSelector" ElementReference />
</xs:choice>
</xs:sequence>
<xs:attribute ComplexTypeAttribute name="MatchId" IdentifierName ComplexTypeAttribute type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference name="VariableDefinition" IdentifierName GlobalElement ElementTypeReference type="xacml:VariableDefinitionType" GlobalElement ElementTypeReference />
<xs:complexType GlobalComplexType name="VariableDefinitionType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence ></xs:sequence>
<xs:attribute ComplexTypeAttribute name="VariableId" IdentifierName ComplexTypeAttribute type="xs:string" StringAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="ExpressionType" IdentifierName GlobalComplexType abstract="true" GlobalComplexTypeAbstract />
<!-- -->
<xs:element GlobalElement ElementTypeReference SubstitutionGroup name="VariableReference" IdentifierName GlobalElement ElementTypeReference SubstitutionGroup type="xacml:VariableReferenceType" GlobalElement ElementTypeReference substitutionGroup="xacml:Expression" SubstitutionGroup />
<xs:complexType GlobalComplexType name="VariableReferenceType" IdentifierName GlobalComplexType >
<xs:complexContent ComplexTypeAttributeExtension ComplexTypeExtension ></xs:complexContent>
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference SubstitutionGroup name="AttributeSelector" IdentifierName GlobalElement ElementTypeReference SubstitutionGroup type="xacml:AttributeSelectorType" GlobalElement ElementTypeReference substitutionGroup="xacml:Expression" SubstitutionGroup />
<xs:complexType GlobalComplexType name="AttributeSelectorType" IdentifierName GlobalComplexType >
<xs:complexContent ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:extension ComplexTypeAttributeExtension ComplexTypeExtension base="xacml:ExpressionType" ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:attribute ComplexTypeAttributeExtension name="RequestContextPath" IdentifierName ComplexTypeAttributeExtension type="xs:string" StringAttribute use="required" AttributeRequired />
<xs:attribute ComplexTypeAttributeExtension name="MustBePresent" IdentifierName ComplexTypeAttributeExtension type="xs:boolean" BooleanAttribute use="optional" AttributeOptional default="false" AttributeDefault />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference SubstitutionGroup name="ResourceAttributeDesignator" IdentifierName GlobalElement ElementTypeReference SubstitutionGroup type="xacml:AttributeDesignatorType" GlobalElement ElementTypeReference substitutionGroup="xacml:Expression" SubstitutionGroup />
<xs:element GlobalElement ElementTypeReference SubstitutionGroup name="ActionAttributeDesignator" IdentifierName GlobalElement ElementTypeReference SubstitutionGroup type="xacml:AttributeDesignatorType" GlobalElement ElementTypeReference substitutionGroup="xacml:Expression" SubstitutionGroup />
<xs:element GlobalElement ElementTypeReference SubstitutionGroup name="EnvironmentAttributeDesignator" IdentifierName GlobalElement ElementTypeReference SubstitutionGroup type="xacml:AttributeDesignatorType" GlobalElement ElementTypeReference substitutionGroup="xacml:Expression" SubstitutionGroup />
<!-- -->
<xs:complexType GlobalComplexType name="AttributeDesignatorType" IdentifierName GlobalComplexType >
<xs:complexContent ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:extension ComplexTypeAttributeExtension ComplexTypeExtension base="xacml:ExpressionType" ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:attribute ComplexTypeAttributeExtension name="AttributeId" IdentifierName ComplexTypeAttributeExtension type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
<xs:attribute ComplexTypeAttributeExtension name="MustBePresent" IdentifierName ComplexTypeAttributeExtension type="xs:boolean" BooleanAttribute use="optional" AttributeOptional default="false" AttributeDefault />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference SubstitutionGroup name="SubjectAttributeDesignator" IdentifierName GlobalElement ElementTypeReference SubstitutionGroup type="xacml:SubjectAttributeDesignatorType" GlobalElement ElementTypeReference substitutionGroup="xacml:Expression" SubstitutionGroup />
<xs:complexType GlobalComplexType name="SubjectAttributeDesignatorType" IdentifierName GlobalComplexType >
<xs:complexContent ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:extension ComplexTypeAttributeExtension ComplexTypeExtension base="xacml:AttributeDesignatorType" ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:attribute ComplexTypeAttributeExtension name="SubjectCategory" IdentifierName ComplexTypeAttributeExtension type="xs:anyURI" AnyURIAttribute use="optional" AttributeOptional default="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeDefault />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference SubstitutionGroup name="AttributeValue" IdentifierName GlobalElement ElementTypeReference SubstitutionGroup type="xacml:AttributeValueType" GlobalElement ElementTypeReference substitutionGroup="xacml:Expression" SubstitutionGroup />
<xs:complexType GlobalComplexType name="AttributeValueType" IdentifierName GlobalComplexType mixed="true" MixedContentType ></xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="FunctionType" IdentifierName GlobalComplexType >
<xs:complexContent ComplexTypeAttributeExtension ComplexTypeExtension ></xs:complexContent>
</xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="ConditionType" IdentifierName GlobalComplexType >
<xs:sequence ComplexTypeSequence ></xs:sequence>
</xs:complexType>
<!-- -->
<!-- -->
<xs:complexType GlobalComplexType name="ObligationsType" IdentifierName GlobalComplexType ></xs:complexType>
<!-- -->
<xs:complexType GlobalComplexType name="ObligationType" IdentifierName GlobalComplexType >
<xs:attribute ComplexTypeAttribute name="ObligationId" IdentifierName ComplexTypeAttribute type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:complexType>
<!-- -->
<xs:element GlobalElement ElementTypeReference name="AttributeAssignment" IdentifierName GlobalElement ElementTypeReference type="xacml:AttributeAssignmentType" GlobalElement ElementTypeReference />
<xs:complexType GlobalComplexType name="AttributeAssignmentType" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<xs:complexContent ComplexTypeAttributeExtension ComplexTypeExtension mixed="true" MixedComplexContent >
<xs:extension ComplexTypeAttributeExtension ComplexTypeExtension base="xacml:AttributeValueType" ComplexTypeAttributeExtension ComplexTypeExtension >
<xs:attribute ComplexTypeAttributeExtension name="AttributeId" IdentifierName ComplexTypeAttributeExtension type="xs:anyURI" AnyURIAttribute use="required" AttributeRequired />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- -->
</xs: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).