Currently <attributeValue> element is an extension of anyType, with specified
DataType.
XACML functions arguments are, in general, a sequence of typed elements - as
it can be returned by a designator from context. While most accept only
single values (sequence of size 1), some set operation functions have an
arbitrary length sequence as an argument.
We need to provide syntax to express a sequence of values as a literal
argument in set operations (like union, member_of, intersection..)
I propose adding element Value, of anyType, and defining <AttributeValueType>
as sequence of <Value>, with DataType attribute, applicable to all elements
in the sequence. It supports 0 size of the sequence, to support empty set in
operations
<xs:element name="Value" type="xs:anyType"/>
<xs:element name="AttributeValue"/>
<xs:complexType name="AttributeValueType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Value"/>
</xs:sequence>
<xs:attribute name="name" type="xs:anyURI" use="required"/>
</xs:complexType>