This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Passing Elements to templates...
- From: Mike Brown <mike at skew dot org>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Mon, 3 Jun 2002 12:49:16 -0600 (MDT)
- Subject: Re: [xsl] Passing Elements to templates...
- Reply-to: xsl-list at lists dot mulberrytech dot com
CROFT, MICHAEL wrote:
> Is there a way to pass an entire element, with all its children to a
> template. Then, within that template which it was passed to, specifically
> extract certain elements to display the text?
You can pass an object of any type, including node-set, to a template as a
parameter. If passing a node-set, it is usually the case that you pass just
the one element node; you can use XPath expressions to obtain its descendants
and attributes.
<xsl:template match="foo">
<xsl:apply-templates select="path/to/some/coolNodes">
<xsl:with-param name="aNodeSet" select="some/foo/descendant"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="coolNodes">
<xsl:param name="aNodeSet" select="/.."/> <!-- default: empty set -->
<xsl:text> number of nodes in aNodeSet: </xsl:text>
<xsl:value-of select="count($aNodeSet)"/>
<xsl:text> number of child elements of all of those nodes: </xsl:text>
<xsl:value-of select="count($aNodeSet/*)"/>
</xsl:template>
Is there a particular problem you are having?
- Mike
____________________________________________________________________________
mike j. brown | xml/xslt: http://skew.org/xml/
denver/boulder, colorado, usa | resume: http://skew.org/~mike/resume/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list