|
Subject: RE: [xsl] Can not convert #RTREEFRAG to a NodeList From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Tue, 23 Jul 2002 08:57:27 +0100 |
> This is the part of my stylesheet:
>
> <xsl:variable name='record'>
> <xsl:value-of select="document(fullKey)/xmldata"/>
> </xsl:variable>
>
> <xsl:if test="string-length($record) > 0">
> <xsl:value-of select="$record/*/info/title"/>
> </xsl:if>
>
> The variable record is just fine because I tried to print out
> from screen and it looks just fine. But after I tried to use
> the <xsl:value-of select="$record/*/ztisuab/ztitle/title"/>,
> it gives me the
> error:
>
> Can not convert #RTREEFRAG to a NodeList
You have defined $record as a result tree fragment, so XSLT 1.0 does not
allow you to use it in a path expression. You need the xx:node-set()
extension.
But there's a simpler solution: create it as a node-set in the first
place, by writing:
<xsl:variable name="record"
select="document(fullKey)/xmldata"/>
I see a great deal of this unnecessary creation of result tree
fragments. Whenever you see
<xsl:variable name="x"><xsl:value-of select="Y"/></xsl:variable>
it should almost always be rewritten as
<xsl:variable name="x" select="Y"/>
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
>
> This is very strange since I used the same way to access data
> in another stylesheet and everything works just fine. I use
> the version for both
> stylesheet:
>
> <?xml version="1.0"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:xalan="http://xml.apache.org/xalan"
> version="1.0">
>
>
> Thanks a lot for your help.
>
> Ming
>
>
>
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Can not convert #RTREEFRA, Ming | Thread | Re: [xsl] Can not convert #RTREEFRA, Marrow |
| [xsl] Re: XML transformation output, Dimitre Novatchev | Date | Re: [xsl] asigning values to variab, David Carlisle |
| Month |