OASIS eXtensible Access Control Markup Language (XACML) TC

 View Only

The daytime/yearmonth duration datatypes

  • 1.  The daytime/yearmonth duration datatypes

    Posted 06-08-2008 13:25
    All,
    
    I just uploaded a new version of the 2.0 errata. It changes back the 
    dayTimeDuration and yearMonthDuration data type identifiers to the 
    original ones from XACML 1.
    
    The current state of the daytimeduration/yeartimeduration in the errata 
    is now:
    
    - They have been changed back to their old form and are called thus:
    
    http://www.w3.org/TR/2002/WD-xquery-operators-20020816#dayTimeDuration
    http://www.w3.org/TR/2002/WD-xquery-operators-20020816#yearMonthDuration
    
    - Their definition text is in the XACML 2 errata document itself, copied 
    and pasted from somewhere else (presumably the XPath 2.0 draft 
    specification.)
    
    - I have not checked whether there has been a change to these data types 
    as defined in final the XPath 2.0 specification compared to the draft 
    specification.
    
    - The references list includes a reference to the draft XPath 2.0 
    specification, but it is not used as a normative reference. The 
    reference is only used in informational notes which say that XACML 
    borrows from this specification.
    
    In essence it seems that the 2.0 errata is the same as the original 2.0, 
    except that there has been a copy and paste to avoid making references 
    to the XPath draft specification. I believe this was done as part of the 
    ITU-T process.
    
    I think this is how the errata should be.
    
    For 3.0 I think we should fix it properly. I have investigated the issue 
    further and it appears that W3C indeed has defined these two data types, 
    and it is done by adding to the definitions in the XML schema 
    namespacece. See the web page here:
    
    http://www.w3.org/TR/xpath-datamodel/#xdtschema
    
    Also, the web page at 
    http://www.w3.org/TR/xmlschema-2/#built-in-datatypes states that:
    
    --8<--
     Each built-in datatype in this specification (both ·primitive· and 
    ·derived·) can be uniquely addressed via a URI Reference constructed as 
    follows:
    
       1. the base URI is the URI of the XML Schema namespace
       2. the fragment identifier is the name of the datatype
    
    For example, to address the int datatype, the URI is:
    
        * http://www.w3.org/2001/XMLSchema#int
    --8<--
    
    Thus, the official names for these two data types appear to be:
    
    http://www.w3.org/2001/XMLSchema#dayTimeDuration
    http://www.w3.org/2001/XMLSchema#yearMonthDuration
    
    I propose that for 3.0 we do this:
    
    - Make references to the final XPath 2.0 specification instead of 
    copying the text. (This simplifies our specification and makes it more 
    clear that an XPath implementation can be reused for XACML.)
    
    - Use the XMLSchema variant of the identifiers for the data types.
    
    - Redefine the functions which use these data types so that they use the 
    official names of the data types.
    
    - Update the XACML function identifiers so we don't break backwards 
    compatibility with old policies.
    
    - Deprecate the old funcions and data types, meaning that they are not 
    part of the spec, but naturally implementations will continue supporting 
    them since we ask 3.0 PDPs to support 2.0 as well. In the distant future 
    when people stop using XACML 2.0 the old identifiers will be phased out 
    and the new ones will live on..
    
    Best regards,
    Erik