xsl-list
[Top] [All Lists]

Re: apply-templates with exceptions

2003-11-11 13:50:18
Hi Matt,

At 03:15 PM 11/11/2003, you wrote:
In this particular case I want the output to have the <title> output above the output of <steps> and its other children. Basically, I want a way to get the equivalent in the <steps> template of apply-templates for everything except <title> elements, eg:

<xsl:template match="steps">
 <xsl:apply-templates select="title" />
 <ol class="steps">
  <xsl:apply-templates /> //(... to everything except "title")
 </ol>
</xsl:template>

<xsl:template match="steps/title">
 <p><b><xsl:apply-templates /></b></p>
</xsl:template>

Is there a way to accomplish this cleanly? I reckon there must be, but I can't think of it...

There is, but it uses a bit of advanced-level XPath:

<xsl:apply-templates select="*[not(self::title)]"/>

which translates into XPath long syntax as "child::*[not(self::title)]".

Cheers,
Wendell


======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


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



<Prev in Thread] Current Thread [Next in Thread>