Subject: Re: transforming one specific subtree only From: Mike Brown <mike@xxxxxxxx> Date: Tue, 7 Nov 2000 14:35:58 -0700 (MST) |
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: transforming one specific subtr, Sebastian Rahtz | Thread | Re: transforming one specific subtr, Jakob |
Re: transforming one specific subtr, Sebastian Rahtz | Date | Re: getting parents position, Mike Brown |
Month |