Subject: Re: Catch ALL | Failed template rule
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Mon, 21 Mar 2005 08:44:25 -0700
|
Given the following XML:
<ABC>
<A>1</A>
<B>2</B>
<C>3</C>
</ABC>
This select will result in nothing:
<xsl:apply-templates select="ABC/D"/>
How do I setup a template rule for this non-existent match?
On Mon, 21 Mar 2005 21:00:17 +0530, omprakash.v@xxxxxxxxxxxxx
<omprakash.v@xxxxxxxxxxxxx> wrote:
>
>
> Hi,
> here goes!
>
> This selects everything other than the node named slide
>
> <xsl:template match="//*[not(name(.) = 'slide')]">
>
> </xsl:template>
>
> Cheers,
> Omprakash.V
>
> Karl
> Stubsjoen To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> <kstubs@gmail cc: (bcc: omprakash.v/Polaris)
> .com> Subject: Catch ALL | Failed template rule
>
> 03/21/2005
> 08:33 PM
> Please
> respond to
> xsl-list
>
>
> I'd like a catch ALL template rule, actually a catch NOT template
> rule. In an effort to check for the existence of a select, I have
> setup a match template rule that simply returns "1" for a match. So I
> have:
>
> <xsl:template match="record" mode="recordexists">
> <xsl:text>1</xsl:text>
> </xsl:template>
>
> The failed select would need to return a "0". So I need a match that
> simply returns 0.
>
> So something like:
>
> <xsl:template match="not(record)" mode="recordexists">
> <xsl:text>0</xsl:text>
> </xsl:template>
>
> (which is not a legal match statement, but that is what I need). I'm
> sure there is a way, and I'm sure it is obvious! Just not coming to
> me.
>
> Thanks,
> Karl
>
> This e-Mail may contain proprietary and confidential information and is sent for the intended recipient(s) only.
> If by an addressing or transmission error this mail has been misdirected to you, you are requested to delete this mail immediately.
> You are also hereby notified that any use, any form of reproduction, dissemination, copying, disclosure, modification,
> distribution and/or publication of this e-mail message, contents or its attachment other than by its intended recipient/s is strictly prohibited.
>
> Visit Us at http://www.polaris.co.in
|