Re: [xsl] Catch ALL | Failed template rule

Subject: Re: [xsl] Catch ALL | Failed template rule
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Mon, 21 Mar 2005 14:00:00 -0700
Interesting.  What does the comma seperation achieve in the select?


On Mon, 21 Mar 2005 16:37:52 -0000, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> If you're really determined you could do
> 
> <xsl:variable name="dummy" as="element()">
>  <dummy/>
> </xsl:variable>
> 
> ...
> 
>  <xsl:apply-templates select="(ABC/D, $dummy)[1]"/>
> 
> <xsl:template match="dummy">
>  <something/>
> </xsl:template>
> 
> Michael Kay
> http://www.saxonica.com/
> 
> > -----Original Message-----
> > From: Karl Stubsjoen [mailto:kstubs@xxxxxxxxx]
> > Sent: 21 March 2005 16:09
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: Re: [xsl] Catch ALL | Failed template rule
> >
> > That's what I figured.  I was hoping to avoid such.  It's much cleaner
> > to right a single apply-templates rule.  Uggg.
> >
> >
> >
> > On Mon, 21 Mar 2005 15:54:06 GMT, David Carlisle
> > <davidc@xxxxxxxxx> wrote:
> > >
> > > > How do I setup a template rule for this non-existent match?
> > >
> > > You can't: templates are fired by matching nodes, if you
> > select an empty
> > > node set, then no templates will be invoked.
> > >
> > > If you want something to happen if there is not an ABC/D child do
> > >
> > > <xsl:if test="not(ABC/D)">
> > > something
> > > </xsl:if>
> > >
> > >
> > >
> > ______________________________________________________________
> > __________
> > > This e-mail has been scanned for all viruses by Star. The
> > > service is powered by MessageLabs. For more information on
> > a proactive
> > > anti-virus service working around the clock, around the
> > globe, visit:
> > > http://www.star.net.uk
> > >
> > ______________________________________________________________
> > __________

Current Thread