Re: [xsl] Use of xsl:apply-templates exception with an element

Subject: Re: [xsl] Use of xsl:apply-templates exception with an element
From: ac <ac@xxxxxxxxxxxxx>
Date: Fri, 25 Sep 2009 11:41:18 -0400
Hi,

What should be done if the element name is in an attribute or variable, as
<variable name="name" select=" 'attribution' "/>

Can name() be avoided here also?

Thanks,
ac



At 2009-09-25 16:31 +0800, lee qm wrote:
How about this?

<xsl:template match="blockquote">
<blockquote>
<xsl:apply-templates select="*[name()!='attribution']"/>
<xsl:apply-templates select="attribution"/>
</blockquote>
</xsl:template>

For the maillist record, the above approach is not namespace-safe and so is not a general solution for XSLT 1.0. Rather, the following would be a more appropriate approach:


<xsl:template match="blockquote">
 <blockquote>
  <xsl:apply-templates select="*[not(self::attribution)]"/>
  <xsl:apply-templates select="attribution"/>
 </blockquote>
</xsl:template>

The name() function is for exposition, not for testing.

I hope this helps.

. . . . . . . . . . Ken


-- Upcoming hands-on code list, UBL, XSLT, XQuery and XSL-FO classes. Interested in other classes? http://www.CraneSoftwrights.com/s/i/ Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18 Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18 G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal

Current Thread