This module implements the basic behavior of the AttributeSelectorType, looking for attribute values in the physical request document using the given XPath expression. This is implemented as a separate module (instead of being implemented directly in
AttributeSelector
so that programmers can remove this functionality if they want (it's optional in the spec), so they can replace this code with more efficient, specific code as needed, and so they can easily swap in different XPath libraries.
Note that if no matches are found, this module will return an empty bag (unless some error occurred). The AttributeSelector
is still deciding what to return to the policy based on the MustBePresent attribute.
This module uses the Xalan XPath implementation, and supports only version 1.0 of XPath. It is a fully functional, correct implementation of XACML's AttributeSelector functionality, but is not designed for environments that make significant use of XPath queries. Developers for any such environment should consider implementing their own module.
@since 1.0
@author Seth Proctor