|
Subject: RE: Re: [xsl] Selectively applying Identity transform to multiple inputs (Multiplexer Style Sheet) From: cknell@xxxxxxxxxx Date: Fri, 05 Jan 2007 17:05:56 -0500 |
Instead of using <xsl:copy-of> at the highest level, you can use <xsl:apply-templates />.
In each template you could repeat the <xsl:choose> construct and test for the value of the parameter in question.
When you wish to copy the element without change (identity transformation), you use the <xsl:copy-of> instruction. When you want to suppress the element altogether, just use a no-output rule.
Example assuming the parameter you wish to evaluate is a global one:
<xsl:template match="some-element-name">
<xsl:choose>
<xsl:when test="$parameter-name='no-output'" />
<xsl:otherwise><xsl:copy-of select="." /></xsl:otherwise>
</xsl:choose>
</xsl:template>
--
Charles Knell
cknell@xxxxxxxxxx - email
-----Original Message-----
From: Farrukh S. Najmi <farrukh@xxxxxxxxxxxxxxxxxxxxx>
Sent: Fri, 05 Jan 2007 16:04:14 -0500
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Selectively applying Identity transform to multiple inputs (Multiplexer Style Sheet)
cknell@xxxxxxxxxx wrote:
> How about this?
>
>
> <xsl:template match="/">
> <xsl:choose>
> <xsl:when test="$input2=''">
> <xsl:copy-of select="." />
> </xsl:when>
> <xsl:otherwise>
> <xsl:copy-of select="document($input2/)" />
> </xsl:otherwise>
> </xsl:choose>
> </xsl:template>
>
Thanks very much! This does the trick very nicely.
How can I extend above so that I can do selective transformation of some
nodes in the output tree?
For example what if I want to suppress the copying of some nodes based
on a parameter value.
Here is a sample template to selectively copy tp:Comment element. I cant
figure out how how to wire
this to what you suggested earlier.
<!--
Only copy tp:Comment if $copyComment is not null
-->
<xsl:template match="tp:Comment">
<xsl:if test="$copyComment != ''">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
Thanks again.
--
Regards,
Farrukh
Web: http://www.wellfleetsoftware.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Selectively applying Iden, Farrukh S. Najmi | Thread | [xsl] NET dataset.WriteXML to Sprea, Rick Roen |
| Re: [xsl] Selectively applying Iden, Abel Braaksma | Date | Re: [xsl] Selectively applying Iden, Abel Braaksma |
| Month |