xsl-list
[Top] [All Lists]

RE: <xsl:test="">

2004-09-16 04:03:05
Use 

<xsl:apply-templates mode="x" select="."/> 

<xsl:template mode="x" match="forObj | flow | step">

Doing an explicit test on name() should only be a last resort: template
rules are there for this job. 

Note that you can give the same template both a name and a match pattern if
you need to, and invoke it either by apply-templates or by call-template.

You could write (name()='forObj' or name()='flow'...), and in XSLT 2.0 you
could write <xsl:if test="name() = ('forObj', 'flow', 'step')"> but it's not
the right answer here.

Michael Kay
http://www.saxonica.com/


-----Original Message-----
From: Phillip Nicolson [mailto:pjn3(_at_)star(_dot_)le(_dot_)ac(_dot_)uk] 
Sent: 16 September 2004 10:58
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] <xsl:test="">

I have a stylesheet containing a number of <xsl:test> statements. 

Rather than having:

<xsl:if test="name() = 'forObj'">...........call template
<xsl:if test="name() = 'flow'">............call template
<xsl:if test="name() = 'step'">............call template
....etc 

all of which call the same template is it possible to test if name() =
forObj OR flow OR step etc in one statement?

Many thanks for suggestions
 
-- 
Phillip Nicolson                      
Department of Physics & Astronomy             Phone:  (0)116 2523581
University of Leicester                               Email:  
pjn3(_at_)star(_dot_)le(_dot_)ac(_dot_)uk
Leicester        LE1 7RH                      Web:    
http://www.astrogrid.org


--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--





<Prev in Thread] Current Thread [Next in Thread>