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: Support for the xpathExpression Data-type in the JSON Profile



Here, for the consideration of the TC, are my suggested changes to the JSON profile
to include support for the xpathExpression data-type.

Section 3.4.1 - Add a row to the table for the xpathExpression data-type.

XACML data-type-identifier -> urn:oasis:names:tc:xacml:3.0:data-type:xpathExpression
JSON shorthand code        -> xpathExpression
Javascript data-type       -> None – inference must fail

Rename section 3.4.2 to "The xpathExpression Datatype" and replace the text with
the following:

    Values of the xpathExpression data-type are represented as JSON objects. Each
    such object contains the following properties:

    +---------------+----------------------+--------------------+---------------+
    | Attribute     | Type                 | Mandatory/Optional | Default value |
    +---------------+----------------------+--------------------+---------------+
    | XPathCategory | URI                  | Mandatory          | None          |
    +---------------+----------------------+--------------------+---------------+
    | Namespaces    | Array of             | Optional           | None          |
    |               | NamespaceDeclaration |                    |               |
    +---------------+----------------------+--------------------+---------------+
    | XPath         | String               | Mandatory          | None          |
    +---------------+----------------------+--------------------+---------------+

    The XPath property contains the XPath expression [XPATH] from the XACML value. The
    Namespaces property contains namespace declarations for interpreting qualified
    names [NAMESPACES] in the XPath expression.

    A NamespaceDeclaration object contains the following properties:

    +-----------+--------+--------------------+---------------+
    | Attribute | Type   | Mandatory/Optional | Default value |
    +-----------+--------+--------------------+---------------+
    | Prefix    | String | Optional           | None          |
    +-----------+--------+--------------------+---------------+
    | Namespace | URI    | Mandatory          | None          |
    +-----------+--------+--------------------+---------------+

    Each NamespaceDeclaration object describes a single XML namespace declaration
    [NAMESPACES]. The Prefix property contains the namespace prefix and the Namespace
    property contains the namespace name. In the case of a namespace declaration for
    the default namespace the Prefix property SHALL be absent.

    The Namespaces array MUST contain a NamespaceDeclaration object for each of the
    namespace prefixes used by the XPath expression. The Namespaces array MAY contain
    additional NamespaceDeclaration objects for namespace prefixes that are not used
    by the XPath expression. There SHALL NOT be two or more NamespaceDeclaration
    objects for the same namespace prefix.

    3.4.2.1 Example

    {Non-normative}

    This example shows the XML representation of an XACML attribute with a value of
    the xpathExpression data-type and its corresponding representation in JSON.

    As XML:

        <Attribute xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"
          AttributeId="urn:oasis:names:tc:xacml:3.0:content-selector">
          <AttributeValue xmlns:md="urn:example:med:schemas:record"
            XPathCategory="urn:oasis:names:tc:xacml:3.0:attribute-category:resource"
            DataType=" urn:oasis:names:tc:xacml:3.0:data-type:xpathExpression"
            >md:record/md:patient/md:patientDoB</AttributeValue>
        </Attribute>

    As JSON:

        "Attribute": {
            "Id" : "urn:oasis:names:tc:xacml:3.0:content-selector",
            "DataType" : "xpathExpression",
            "Value" : {
                "XPathCategory" : "urn:oasis:names:tc:xacml:3.0:attribute-category:resource",
                "Namespaces" : [{
                    "Namespace" : "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"
                },
                {
                    "Prefix" : "md",
                    "Namespace" : "urn:example:med:schemas:record"
                }],
                "XPath" : "md:record/md:patient/md:patientDoB"
            }
        }

Section 4.2.5 - Add "object" and "Array of object" to the Type for the Value property.

In the normative references add these:

    [NAMESPACES]  Bray, Tim, et.al. eds, Namespaces in XML 1.0 (Third Edition),
                  W3C Recommendation 8 December 2009, available at
                  http://www.w3.org/TR/2009/REC-xml-names-20091208/

    [XPATH]       James Clark and Steve DeRose, XML Path Language (XPath), Version 1.0,
                  W3C Recommendation 16 November 1999. Available at: http://www.w3.org/TR/xpath

Regards,
Steven


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