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


Dear all,

I have now reviewed and added the suggested changes to the XPathExpression datatype Steven put forward. These will be in the next WD I upload to the OASIS website.

Cheers,
David.


On Fri, Dec 7, 2012 at 5:08 AM, Steven Legg <steven.legg@viewds.com> wrote:

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



--
David Brossard, M.Eng, SCEA, CSTP
Product Manager
+46(0)760 25 85 75
Axiomatics AB
Skeppsbron 40
S-111 30 Stockholm, Sweden
http://www.linkedin.com/companies/536082
http://www.axiomatics.com
http://twitter.com/axiomatics


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