OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xacml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: AttributeSelector description and functional requirements


These are not substantive changes.  I suggest moving most of the
AttributeSelector evaluation description and requirements to section 7,
leaving 5.30 with mostly syntax description.

I also tried to clarify the expected processing of AttributeSelector.

======================================
5.30 Element <AttributeSelector>

The <AttributeSelector> element produces a bag of unnamed, uncategorized
attribute values.  The values shall be constructed from the node(s)
selected by applying the Xpath expression given by the element's Path
attribute to the XML content indicated by the element's Category
attribute.  Support for the <AttributeSelector> element is OPTIONAL.

See section 7.3 for details of AttributeSelector evaluation.

[insert schema snippet here]

The <AttributeSelector> element is of AttributeSelectorType complex
type.

The <AttributeSelector> element has the following attributes:

Category [Required]

	This attribute SHALL specify the Attributes category of the
<Content> element containing the XML from which nodes will be selected.
It also indicates the Attributes category containing the applicable
ContextSelectorId Attribute, if the element includes a ContextSelectorId
xml attribute.

ContextSelectorId [Optional]

	This attribute refers to the attribute (by its AttributeId) in
the request context in the category given by the Category attribute.
The referenced attribute MUST have datatype
urn:oasis:names:tc:xacml:3.0:data-type:xpathExpression, and must select
a single node in the <Content> element.  The XPathCategory attribute of
the referenced attribute MUST be equal to the Category attribute of the
attribute selector.

Path [Required]

	This attribute SHALL contain an XPath expression to be evaluated
against the specified XML content.  See Section 7.3 for details of the
XPath evaluation during AttributeSelector processing.

DataType [Required]

	The attribute specifies the datatype of the values returned from
the evaluation of this <AttributeSelector> element.

MustBePresent [Required]
	This attribute governs whether the element returns
"Indeterminate" or an empty bag in the event the XPath expression
selects no node.  See Section 7.3.5.  Also see Sections 7.17.2 and
7.17.3.


=============================
(new section)
7.3.7 AttributeSelector evaluation

An AttributeSelector element will be evaluated according to the
following processing model.

NOTE: It is not necessary for an implementation to actually follow these
steps.  It is only necessary to produce results identical to those that
would be produced by following these steps.

1. Construct an XML data structure suitable for xpath processing from
the <Content> element in the Attributes category given by the Category
attribute.  The data structure shall be constructed so that the document
node of this structure contains a single document element which
corresponds to the single child element of the <Content> element.  The
constructed data structure shall be equivalent to one that would result
from parsing a stand-alone XML document consisting of the contents of
the <Content> element (including any comment and processing-instruction
markup).  The data structure must meet the requirements of the
applicable xpath version.

2. Select a context node for xpath processing from this data structure.
If there is a ContextSelectorId attribute, the context node shall be the
node selected by applying the XPath expression given in the attribute
value of the designated Attribute (in the Attributes category given by
the AttributeSelector Category attribute).  It shall be an error if this
evaluation returns no node or more than one node.  If there is no
ContextSelectorId, the document node of the data structure shall be the
context node.

3. Evaluate the XPath expression given in the Path attribute against the
xml data structure, using the context node selected in the previous
step.  It shall be an error if this evaluation returns anything other
than a sequence of nodes (possibly empty).

4. Convert the text value of each selected node to the desired datatype,
as specified in the DataType attribute.  Each value shall be constructed
using the appropriate constructor function from [XF] Section 5 listed
below, corresponding to the specified datatype.

  xs:string()
  xs:boolean()
  xs:integer()
  xs:double()
  xs:dateTime()
  xs:date()
  xs:time()
  xs:hexBinary()
  xs:base64Binary()
  xs:anyURI()
  xs:yearMonthDuration()
  xs:dayTimeDuration()

5. Return the bag of values or, if there are no values, return the
appropriate value as described in section 7.3.5.


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]