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

Re: how to select part of the tree?


Subject: Re: how to select part of the tree?
From: Warren Hedley <w.hedley@xxxxxxxxxxxxxx>
Date: Thu, 30 Mar 2000 09:21:17 +1200

"K. Ari Krupnikov" wrote:
> 
> Hi,
>         I'm trying to select some of the nodes in an XML document, but I keep
> getting the whole tree. How do I make sure only <make> and <model> nodes
> in this example are returned?
> 
<snip />
> 
> <b>Mazda</b>
> <i>Miata</i>
> 1990
>         Konstantin Krupnikov
>         ari@xxxxxxx

The other text is popping up because of the built-in template
for text() nodes (section 5.8 of the spec) which copies them
through.

If you add the following to your stylesheet, the built-in
template will be overridden:

<xsl:template match="text()" />

The alternative is to specify the full path to the important
nodes in your root template, causing all other data to be
ignored. For example:

<xsl:template match="/">
  <xsl:apply-templates
    select="vehicles/vehicle/make | vehicles/vehicle/model" />
</xsl:template>

Hope this helps.

-- 
Warren Hedley
Department of Engineering Science
Auckland University
New Zealand


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



Current Thread
Keywords
xml