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>
This creates a result tree fragment which is a copy of the FLDS element(s)
from that document. Result tree fragments have some serious limitations in
XSLT 1.0:
http://www.w3.org/TR/xslt#section-Result-Tree-Fragments
In particular, you cannot treat a result tree fragment as a node-set
without an extension function. You probably want to do this instead:
<xsl:variable name="xmTmplt" select="document('usr_member.xml')//FLDS"/>
This creates a node-set containing the nodes from the specified document.
You can use this just like a node set from the main source tree:
<xsl:template name="TEMP">
<hr/>
<xsl:for-each select="$xmTmplt/FLD">
<xsl:text>testing..</xsl:text>
</xsl:for-each>
<hr/>
</xsl:template>
This assumes the FLDS elements have FLD element children. That's just a
guess, since you didn't include a snippet from the file usr_member.xml.
By the way saying something like "it doesn't like the $ in the select
statement" is not very clear. An exact error message is much more useful.
Dave
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list