RE: XQTS external context item

My view on this would be: if there are XQuery implementations that do not
allow the context item to be initialized by the calling environment, then
there are is a large set of legal queries that are not interoperable across
implementations. It's the purpose of an interoperability test suite to
discover such things; so don't fudge the issue, report that the
implementation cannot run this test, and the WG will then have to review
whether the spec needs to be tightened up to make such queries
interoperable.

I'm not sure how one can word a spec to make it mandatory for the API to
allow a context item to be set (we have the same issue in XSLT 2.0 where one
implementation does not allow an initial template name to be set), but the
last thing we want to do is to sweep an interoperability problem under the
carpet by having different implementations run modified variants of the
query. Users want to be able to write portable queries; it's W3C's job to
ensure that they can; and we're deceiving users (and ourselves) if we tell
them that we've got 100000 queries that run unchanged across a dozen
implementations when in reality they were all running different versions of
the query.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: public-qt-comments-request@w3.org 
> [mailto:public-qt-comments-request@w3.org] On Behalf Of Mary Holstege
> Sent: 03 July 2008 20:11
> To: public-qt-comments@w3.org
> Subject: XQTS external context item
> 
> 
> 
> In some of the tests in XQTS, a context item is assumed to be 
> defined outside of the query:
> 
> For example:
> 
> (: Name: externalcontextitem-22 :)
> (: Description: context item expression :)
> 
> (: insert-start :)
> (: insert-end :)
> 
> ./works/employee[1]
> 
> The catalog does have a definition of what that context item 
> is supposed to refer to, but what are the allowable 
> modifications to such a query when an implementation does not 
> bind a context item outside of the context of a query?  The 
> testsuite guidelines give no allowable reformulations in this 
> case, but the testsuite only allows success.
> 
> Is something like this OK? (If so, the testsuite guidelines 
> should say so; if not, then what?)
> 
> declare variable $input-context external;
> 
> $input-context/./works/employee[1]
> 
> //Mary
> 

Received on Thursday, 3 July 2008 19:45:38 UTC