[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: transforming one specific subtree only

Subject: Re: transforming one specific subtree only
From: Mike Brown <mike@xxxxxxxx>
Date: Tue, 7 Nov 2000 14:35:58 -0700 (MST)
Re: transforming one specific subtree only
Jakob wrote:
> I have a document of type
> 
> <a>
> 	<b ID="b1">...</b1>	
> 	<b ID="b2">...</b1>	
> 	<b ID="b3">...</b1>	
> 	<b ID="b4">...</b1>	
> </a>

I assume you mean </b>, not </b1>

> In my stylesheet I have a global param $nodeId defined which gets assigned an 
> ID from an argument sent to the processor, such as "b2".

How global parameters are assigned by the processor is processor
dependent. I will assume that $nodeId is an object of type string.

> I would like to only transform the subtree whose root has the ID stored in 
> $nodeId, and ignore, ie. not produce any output at all for all other elements.  
> If no matching ID is found, some boilerplate text should be produced instead.

<xsl:param name="nodeId"/>
<xsl:template match="/">
  <!-- go process 'b' elements with matching IDs -->
  <xsl:apply-templates select="/a/b[@ID=$nodeId]"/>
  <!-- if there are no such elements, say so -->
  <xsl:if test="not(/a/b[@ID=$nodeId])">
    <xsl:variable name="quot">'</xsl:variable>
    <xsl:value-of select="concat('ID ',$quot,$nodeId,$quot,' not found.')"/>
  </xsl:if>
</xsl:template>

<xsl:template match="b">
  ... things to do for any 'b' element ...
</xsl:template>

   - Mike
____________________________________________________________________
Mike J. Brown, software engineer at         My XML/XSL resources:
webb.net in Denver, Colorado, USA           http://www.skew.org/xml/


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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.