[xquery-talk] Top N Most Common Mistakes
john.snelson at oracle.com
Sun Aug 5 19:46:41 PDT 2007
The three biggest user mistakes I think I see are:
1) Operator precedence after "return".
2) Use of old XQuery syntax from old tutorials ("define" vs "declare" etc.)
3) Use of ".../text()" when the user really means ".../data()" or
".../string()" (or should rely on implicit atomization). The trouble is
that the answer (after implicit atomization and casting) is often the
same, but the meaning is entirely different. This can cause schema-less
XML databases like Berkeley DB XML to be unable to use it's indexes in
Frans Englich wrote:
> Yes, what are they? What are the most common mistakes that novice, experienced
> a like, do when writing XQuery queries?
> I have little contact with users and can therefore contribute poorly:
> 1. That axis steps uses the default element namespace, which possibly is set
> by a namespace binding on an enclosing element constructor. Hence the path
> expression automagically misses.
> 2. Expression precedence related to the return clause combined with variable
> references. In "... return 1 + $f", The variable $f, if bound in the parent
> let/for clause, is out of scope.
> I suspect a couple of points related to axes can be found, perhaps especially
> related to navigation order versus document order.
> On a broader more conceptual scale, what is the big challenge for learning
> XQuery, especially if having a C++/Java background? "I'd rather wait until
> XSL-T has turned into a real language, such that one can assign to
> variables," reveals how hard the functional approach of XQuery/XSL-T can be
> to grasp.
> talk at x-query.com
More information about the talk