RE: [xsl] Templates for different kinds of tags?

Subject: RE: [xsl] Templates for different kinds of tags?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 22 Mar 2007 18:29:48 -0000
You can do all of this with template rules, you don't need xsl:choose at
all. Write rules like


<xsl:template match="table[@style='simple']">
 
<xsl:template match="table[@style='simple']/tr">

<xsl:template match="table[@style='simple']/tr/td">

to process the different kinds of element in your input.

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

> -----Original Message-----
> From: Thomas Zastrow [mailto:listen@xxxxxxxxxxxxxxxxx] 
> Sent: 22 March 2007 18:19
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Templates for different kinds of tags?
> 
> Hi there,
> 
> I'm not so familiar with XSL, please be patient ;-)
> 
> I have a XML-document (not HTML) with tables like this:
> 
> <table>
> <tr>
> <td></td><td></td>
> </tr>
> </table>
> 
> So, I have three templates for them:
> 
> <xsl:template match="table">
> <xsl:template match="tr">
> <xsl:template match="td">
> 
> Now, I want to use different kinds of tables in my XML-doc like
> 
> <table style="simple">
> <table style="xyz">
> 
> Depending on the style-attribut, I can change the 
> template-code for <table> with  xsl:choose. But, the <tr>- 
> and <td>-tags are still the same code, so, they will always 
> use the same templates. But I also want to change the code 
> for tr and td, depending on the style of the complete table.
> 
> Is this possible or have I to write the xsl:choose - 
> statement again in the tr- and in the td-templates?
> 
> Thank you!
> 
> Best,
> 
> Tom

Current Thread