xsl-list
[Top] [All Lists]

Re: [xsl] an error I do not understand

2011-09-30 18:11:25
On Fri, Sep 30, 2011 at 09:47:42AM +0100, Michael Kay scripsit:
On 30/09/2011 01:07, Graydon wrote:
So I've got a recurrent issue with taking big (~.5 Mlines, ~15 MiB)
files of metadata and merging them, or updating them.

(this happens in an XSLT 2.0 environment.)

Below is the minimal case of the error I do not understand:

    <xsl:for-each select="$areaNames">
      <!-- F [Saxon-PE 9.3.0.5] Leading '/' cannot select the root node of 
the tree containing the context item: the context item is an atomic value 
-->
      <xsl:sequence select="key('name2Area',current())"/>

There's an implicit third argument to key(), telling it which
document to search. The default value is effectively "/" - that is,
the document containing the context node. If there isn't a context,
node, using "/" fails.

My confusion is greatly reduced; thank you!

I must see if I can improve the error message (the problem is that
Saxon expands the call at an early stage to use "/" explicitly, so
the error message reflects the query as Saxon rewrote it, not the
original as you wrote it.)

There was indeed much searching for the slash. :)

Thanks!

-- Graydon

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>