[Bug 17281] [QT3TS] xqhof16, xqhof18

https://www.w3.org/Bugs/Public/show_bug.cgi?id=17281

--- Comment #8 from Tim Mills <tim@cbcl.co.uk> 2012-06-01 13:30:29 UTC ---
(In reply to comment #7)
> >An XQuery base-uri declaration can set the base URI to any value it likes.
> 
> Not sure I understand what you're saying here. We seem to have decided that the
> base-uri declaration affects only the "static base URI", which means it's only
> used (directly) for resolving compile-time things like import module and import
> schema. I would expect most implementations to make the static base URI and
> dynamic base URI the same by default, in which case I guess it will determine
> the dynamic base URI as well, but I don't quite see the relevance of this to
> your remark.

As you've pointed out, in XQuery 1.0 there was no distinction between the
static base URI and the dynamic base URI.  Providing both are the same,
existing XQuery 1.0 queries will continue to be unaffected when run under a 3.0
processor.

However, one cannot always guarantee that the staitc base URI and dynamic base
URI will be the same.  This has the potential to break existing queries. 
Examples of this include use of a function which relies on the static base URI
from a library module whose static base URI is different from the static base
URI of the importing module.  Or something like:

<?xml version="1.0" ?>
<xsl:stylesheet version="2.0" 
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="/">
    <foo xml:base="http://www.exmaple.org/foo">
      <xsl:value-of select="static-base-uri()" />
    </foo>
    <bar xml:base="http://www.exmaple.org/bar">
      <xsl:value-of select="static-base-uri()" />
    </bar>
  </xsl:template>

</xsl:stylesheet>

An XSLT 2.0 processor will produce

<foo xml:base="http://www.exmaple.org/foo">
http://www.exmaple.org/foo
</foo>
<bar xml:base="http://www.exmaple.org/bar">
http://www.exmaple.org/bar
</bar>

When using F&O 3.0, this will surely be something like

<foo xml:base="http://www.exmaple.org/foo">
http://value/of/the/dynamic/base/URI
</foo>
<bar xml:base="http://www.exmaple.org/bar">
http://value/of/the/dynamic/base/URI
</bar>

Or am I missing something?

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Friday, 1 June 2012 13:32:38 UTC