This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The current rules for assertions state that the whole of the XPath 2.0 syntax must be implemented, but they leave the set of functions in the function library entirely implementation-defined (3.13.6.2 clause 2.2.8). This seems to leave an enormous interoperability hole. Users, especially industry bodies producing schemas for an industry, need to have confidence that their schemas will be usable across a range of schema processors. To enable them to use assertions while achieving this level of interoperability, they need some kind of assurance about the minumum set of functions that will be available. We could define the minimum set to be (a) all the constructor functions for built in types plus (b) all the functions defined in the F+O namespace for XPath 2.0. Or we could define a smaller set by doing some fairly arbitrary cherry-picking from that set. But a minimum set that is empty is fairly unusable.
> (a) all the constructor functions for > built in types plus (b) all the functions defined in the F+O namespace for > XPath 2.0. Trying to understand the proposal. Is this the same as "everything required by XPath 2.0"? If not, what's left out? If yes, is there a shorter way of saying "everything" than "(a) + (b)"?
XPath 2.0 leaves it to the host language to define which functions are supported; it merely provides a repertoire to choose from: (a) functions in the fn namespace in F+O (b) constructors for built-in types (c) constructors for user-defined types (d) functions defined by the host language spec e.g. XSLT or XForms (e) user-defined functions written in XQuery or XSLT (f) functions defined and provided by the implementor (g) extension/external user-written functions written e.g. in Java or C# I don't think there is a simple way of saying that the minimum for XML Schema is (a)+(b).
Proposal is to add a sentence to section 3.13.6.2, 2.2.8 to say that the function signatures for assertions will include all in categories (a) and (b) as described in the bug report; this will be identified as a feature at risk; also optionally say that for identity constraints the set of function signatures can be empty.
During its 2009-03-13 telecon, the schema WG adopted a proposal to address this issue. The proposal can be found at (member-only): http://www.w3.org/XML/Group/2004/06/xmlschema-1/structures.omni.20090313.html Changes include: 1. In bullet 2.2.8 of "3.13.6.2 XPath Valid", removed the special treatment for Type Alternative, and added a note indicating that the Assertions and Type Alternatives have special requirements for "function signatures". 2. Updated "3.13.6.1 Assertion Properties Correct" for "function signatures" requirements, as suggested in comment #3. With these changes, the WG believes that the issue raised in this bug report is fully addressed. I'm marking this RESOLVED accordingly. Michael, as the persons who opened and reopened this issue, if you would indicate your concurrence with or dissent from the WG's disposition of the comment by closing or reopening the issue, we'll be grateful. If we don't hear from you in the next two weeks, we'll assume that silence implies consent.