RE: [xsl] Easy one! variables & documents)

Subject: RE: [xsl] Easy one! variables & documents)
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 1 May 2003 09:25:26 +0100
> I am reading an external xml document into a variable at the 
> very top of my stylesheet (is this legal?)... later I loop 
> through this document.. but I don't know how to access the 
> variable in a select statement (it doesn't like the $ in the 
> select statement).  Here's the code:
> 
> <xsl:variable name="xmTmplt"><xsl:copy-of 
> select="document('usr_member.xml')//FLDS"/></xsl:variable>
>

Why are you making a copy of (parts of) the document? The original is
just as good. Use:

 <xsl:variable name="xmTmplt"
select="document('usr_member.xml')//FLDS"/>

> 
> <xsl:template name="TEMP">
> <hr/>
>  <xsl:for-each select="xmTmplt/FLD">
>     <xsl:text>testing..</xsl:text>
>  </xsl:for-each>
> <hr/>
> </xsl:template>
> 

You then want $xmTmplt/FLD.

This works when you rewrite the variable as above, because $xmTmplt is
now a node-set. As you wrote it, it was a result-tree-fragment, and in
1.0 you can't use path expressions to index into a result tree fragment.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread