xsl-list
[Top] [All Lists]

Re: [xsl] document tree fragments

2008-10-12 08:12:42
David Carlisle wrote:
Is there a way to use my $thePath variable, instead of including the directory path inside the @filename attribute?

yes:

<docs path="jb">
        <doc filename="wine1.xml" />
        <doc filename="wine2.xml" />
        <doc filename="wine3.xml" />
        ...
</docs>


<xsl:template match="docs">
 <xsl:variable name="p" select="document(concat(@path,'/',doc[1]/@filename))"/>
  <xsl:variable name="z" select="document(doc/@filename,$p)"/>
  <xsl:for-each select="$z">
: <xsl:value-of select="."/>
  </xsl:for-each>
</xsl:template>


puts all the document nodes in $z.

Hi David,

Thanks, a somewhat sneaky idea--I like it! The for-each is superfluous/breaks things, but the following works for me (NB, now moved to the top of my xsl stylesheet, rather than in a template match):

<xsl:variable name="thePath" select="document(concat(/docs/@path, '/',
/docs/doc[1]/@filename))" />
<xsl:variable name="theWines" select="document(/docs/doc/@filename,
$thePath)" />

Cheers!

Joe




--~------------------------------------------------------------------
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>