RE: [xsl] Catch ALL | Failed template rule

Subject: RE: [xsl] 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: [xsl] 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

Current Thread