Subject: RE: Catch ALL | Failed template rule
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 21 Mar 2005 15:19:53 -0000
|
match="*" matches all elements, match="node()" matches all nodes. These have
lower priority than match="xx" where xx is a specific element name: they
won't match if there is another higher-priority rule.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Karl Stubsjoen [mailto:kstubs@xxxxxxxxx]
> Sent: 21 March 2005 15:03
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Catch ALL | Failed template rule
>
> 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
|