Next in thread → Next in month →

Re: Support for the xpathExpression Data-type in the JSON Profile

From
David Brossard <>
Date
2013-05-10T23:12:41+00:00
ID
CABSq=
Thread
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 <> 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
Next in thread → Next in month →