← Prev in month
← Prev in thread
Next in thread →
Next in month →
AttributeValueType in context schema
AttributeValueType in the context schema is a mixed content, like:
<xs:element name="AttributeValue"
type="xacml-context:AttributeValueType"/>
<xs:complexType name="AttributeValueType" mixed="true">
<xs:sequence>
<xs:any namespace="##any" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##any"
processContents="lax"/>
</xs:complexType>
I was thinking about changing this definition so that the schema would
include explicit list of standard types in the Attribute value type
somehow. This way the types could be validated by a parser using the
schema. Also, the code generators would be able to make a better code
based on only schema.
So far I couldn't figure out how to do it. Any ideas?
At this moment all I could do was to change the Request xml this way:
<Attribute
AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id"
DataType="http://www.w3.org/2001/XMLSchema#string">
<StringAttributeValue>Julius Hibbert</StringAttributeValue>
</Attribute>
Or
<Attribute
AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id"
DataType="myCustomSchema:myCustomDataType">
<ExtensionAttributeValue>Julius
Hibbert</ExtensionAttributeValue>
</Attribute>
Instead of current:
<Attribute
AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id"
DataType="http://www.w3.org/2001/XMLSchema#string">
<AttributeValue>Julius Hibbert</AttributeValue>
</Attribute>
The schema would be like this:
<xs:element name="AttributeValue"
type="xacml-context:AttributeValueType"/>
<xs:complexType name="AttributeValueType" >
<xs:choice>
<xs:element name="IntegerAttributeValue"
type="xs:integer"/>
<xs:element name="StringAttributeValue"
type="xs:string"/>
<xs:element ref="xacml-context:ExtensionAttributeValue"
maxOccurs="unbounded"/>
</xs:choice>
</xs:complexType>
<xs:element name="ExtensionAttributeValue"
type="xacml-context:ExtensionAttributeValueType"/>
<xs:complexType name="ExtensionAttributeValueType" mixed="true">
<xs:sequence>
<xs:any namespace="##any" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
Thanks
argyn
← Prev in month
← Prev in thread
Next in thread →
Next in month →