x500NameUnion Function Description

Description

This function takes two or more arguments that are both a bag of x500Name values. It returns a bag of x500Name such that it contains all elements of all the argument bags. The function gets rid of duplicates, as determined by the equality functions.

x500NameUnion belongs to the ALFA function reference's Set functions category. It maps to the XACML function identifier urn:oasis:names:tc:xacml:1.0:function:x500Name-union, takes 2 or more arguments and returns a value of type A bag of values of type x500Name with no duplicates..

Property Value
Category Set functions
# Arguments 2 or more
Arguments
  • A bag of type x500Name
  • A bag of type x500Name
  • Optionally more bags of type x500Name
Return Value A bag of values of type x500Name with no duplicates.
Expressed As pre-fix
Representation ALFA short name
Allowed In Target false
ALFA Shorthand None
Commutative true

Example

/**
* Allow if Steve Kille is in the list of internal or external users
*/
rule x500NameUnionExample{
    permit
    condition x500NameIsIn("CN=Steve Kille,O=Isode Limited,C=GB":x500Name,x500NameUnion(internalUsers, externalUsers))
}

In this example, we use the x500NameUnion function in conjunction with x500NameIsIn to determine whether a single atomic value is in the union of 2 bags of values. This also shows how functions can be combined together in ALFA.