[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] collect elements into variable and apply-templates


Subject: Re: [xsl] collect elements into variable and apply-templates
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 19 Feb 2004 15:15:02 -0500

At 2004-02-19 19:50 +0000, Rui Alberto L." Gonçalves wrote:
I need to collect some elements from a document into a
variable and then apply-templates the the resulting variable:

Then use the node set data type and not a result tree fragment data type.


<xsl:variable name="a" select="xxx/*"/>
...
<xsl:apply-templates select="$a"/>

What you are doing is creating a fragment of the result tree, which in XSLT 1.0 cannot be processed as if it were a collection of source tree nodes. Many processors and XSLT 1.1 do allow you to do this, but for the example you have, you can just use a simple node-set variable.

I hope this helps.

.......................... Ken

<xsl:template match="doc">
  <xsl:variable name="a">
    <xsl:for-each select="xxx/*">
        <xsl:copy-of select="."/>
    </xsl:for-each>
  </xsl:variable>

  <!-- ILLEGAL -->
  <xsl:apply-templates select="$a"/>

</xsl:template>


--
Public courses: upcoming world tour of hands-on XSL training events
Each week:    Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO
Washington, DC: 2004-03-15            San Francisco, CA: 2004-03-22
Hong Kong: 2004-05-17    Germany: 2004-05-24    England: 2004-06-07
World-wide on-site corporate, government & user group XML training!

G. Ken Holman                  mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.           http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0     +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness   http://www.CraneSoftwrights.com/s/bc


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




Current Thread
Keywords