RE: [xsl] calling templates depending on content

Subject: RE: [xsl] calling templates depending on content
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 29 Oct 2004 12:06:22 +0100
Sure, use xsl:apply-templates

<xsl:template name="pages">
  <xsl:apply-templates select="." mode="pages"/>
</xsl:template>

<xsl:template name="start" mode="pages" 
              match="*[/main/template/@name='start']">

<xsl:template name="query" mode="pages" 
              match="*[/main/template/@name='query']"> 

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

> -----Original Message-----
> From: Stefan Borchert [mailto:stefan@xxxxxxxxxxxx] 
> Sent: 29 October 2004 10:12
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] calling templates depending on content
> 
> Hello!
> At the moment I've got the following construct:
> 
> [...]
> <xsl:template name="pages">
>  <xsl:choose>
>   <xsl:when test="/main/template/@name = 'start'">
>    <xsl:call-template name="start"/>
>   </xsl:when>
>   <xsl:when test="/main/template/@name = 'query'">
>    <xsl:call-template name="query"/>
>   </xsl:when>
>   ...
>  </xsl:choose>
> </xsl:template>
> [...]
> 
> Is there a better way (XSL1.0) to call a template depending 
> on "/main/template/@name"?
> 
> thanks,
> 
>  Stefan

Current Thread