- From: <bugzilla@wiggum.w3.org>
- Date: Tue, 20 Sep 2005 10:31:16 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2259 ------- Additional Comments From davidc@nag.co.uk 2005-09-20 10:31 ------- I agree that they behave like casts, but casting is functional, this is not like a node test which also uses function syntax but is not a function. A system writing XQueryX (for example an XQuery to XQueryX convertor) has no way of knowing if a function is a "constructor function". In the case of the predefined schema types it may know, but in general once you have imported a schema or module or two then any xx:f(foo) call is just a call to some possibly system defined XPath function. It may be a constructor function corresponding to a schema defined type xx:f or it may be an external system call to some pile of Java, it isn't possible to tell by analysing the XQuery Expression and so it's not possible to make this distinction in the XQueryX. So, practically speaking, any XQueryX system _has_ to accept constructor functions marked up as FunctionCall. (Unless the stylesheet can somehow be made to flag an error, it is a normative requirement that such functions are accepted, as they translate to a valid XQuery Expression.) Given that, the separate element as an alternative markup for constructor functions seems to add little. A more practical yes-no question. My software currently converts the entire XQuery test suite to XQueryX without ever (having the possibility of) generating an xqx:constructorFunctionExpr element. Once the conformance criteria for XQueryX are finalised, is such a system going to be conformant? If the conformance requirements said that xqx:constructorFunctionExpr should be used, and I changed the system to use this for _all_ one-argument functions (practically speaking, the only alternative I have) would that be conformant? David
Received on Tuesday, 20 September 2005 10:31:19 UTC