This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: conditional match


Hi Kevin,

At 08:42 PM 5/31/01, you wrote:

>I would like to insert a conditional statement in my XSLT that if or when
>true would cause a template match:
>
>For instance:
>
><xsl:choose>
>      <xsl:when test="$TRANSFORMER_Platform='test'">
>           <xsl:call-template name="zoom"/>
>      </xsl:when>
></xsl:choose>
>
>thus,
>
><xsl:template  name= "zoom" match="/././>
>      <xsl:element name="zoom">
>           <xsl:value-of select="number() div .25"/>
>      </xsl:element>
></xsl:template>
>
>However, I assume that inserting the match causes the template to
>automatically be executed even without the when being true. If I remove it
>though, I am not sure how to match the node I want.

You assume incorrectly.

A template fires *if* it is the best match for a node on which an 
xsl:apply-templates instruction is called, *or* if it is called by name.

It is perfectly legal, and not uncommon, to have a template like

<xsl:template name="zoom">
   <xsl:element name="zoom">
     <xsl:value-of select="number() div .25"/>
   </xsl:element>
</xsl:template>

which never matches: it can still be called by name as in your example.

Hope that helps,
Wendell



======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]