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