This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Passing Elements to templates...


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>&#10;number of nodes in aNodeSet: </xsl:text>
    <xsl:value-of select="count($aNodeSet)"/>
    <xsl:text>&#10;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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]