- From: <bugzilla@wiggum.w3.org>
- Date: Sat, 07 Jan 2006 23:23:44 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2681 Summary: Functions taking "." as default argument Product: XPath / XQuery / XSLT Version: Candidate Recommendation Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Functions and Operators AssignedTo: ashok.malhotra@oracle.com ReportedBy: mike@saxonica.com QAContact: public-qt-comments@w3.org A number of functions, such as local-name(), name(), base-uri() etc default the first argument to the context item. It might be thought that name() and name(.) are precisely equivalent; indeed, it might be thought that the function call name() could be statically rewritten to name(.). However, the behaviour of the two function calls is different in error cases. If the context item is not a node, name(.) throws XPTY0004 while name() throws FOTY0011. If the context item is undefined, name(.) throws XPDY0002 while name() throws FONC0001. It's inconvenient for the implementation to have to generate different executable code for these two constructs just so that different error codes can be generated at run-time. The distinction doesn't seem particularly helpful to the user. I propose that the behaviour of name() and similar functions should be the same as name(.) even in error cases. Michael Kay
Received on Saturday, 7 January 2006 23:23:46 UTC