Re: Help with matching

Subject: Re: Help with matching
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 18 Oct 1999 14:06:11 +0100 (BST)
> Any tips?

it depends a bit what you want to do, do you want to just be in a
recursive template matching situation, and have different templates fire
for those two cases, or do you want to be sat at a foo node and query if
there is a bar/bar child, in which case do something different.

In the second case you could have

<xsl:template match="foo">
<xsl:choose>
<xsl:when test="bar/bar">
 <xsl:text> case 2</xsl:text>
 <xsl:apply-templates select="bar/bar"/>
</xslwhen>
<xsl:otherwise>
 <xsl:text> case 1</xsl:text>
 <xsl:apply-templates select="bar"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

In the former case you just want different templates like

<xsl:template match="foo">
 <xsl:apply-templates/>
</xsl:template>


<xsl:template match="bar/bar" priority="3">
 I'm a bar with a bar parent
 <xsl:apply-templates/>
</xsl:template>

<xsl:template match="bar[bar]" priority="2">
 I'm a bar with bar children (and not a bar parent)
 <xsl:apply-templates/>
</xsl:template>


<xsl:template match="bar">
 I'm a bar that's all alone
 <xsl:apply-templates/>
</xsl:template>


I just typed this into the mail buffer not tested;-0

David


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


Current Thread