[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Can i use apply-templates to match a xsl:template eleme nt?


Subject: RE: [xsl] Can i use apply-templates to match a xsl:template eleme nt?
From: Maria Amuchastegui <mamuchastegui@xxxxxxxxxxx>
Date: Fri, 18 Mar 2005 10:29:24 -0500

Can you post the XML data?

Maria 

-----Original Message-----
From: Chris [mailto:phatfish@xxxxxxxxx] 
Sent: Friday, March 18, 2005 10:19 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Can i use apply-templates to match a xsl:template eleme
nt?

Hi thanks, i did look at call-template before in my testing but discarded it
because it didnt output my foreach loop in the template that i was calling.

But it does seem thats what i should be using, although im not sure why the
loop isnt being outputted -- and reading the specifications didnt really
make it any clearer :)

Bellow was the "main" template that i was hoping to output, it just contains
a test for-each loop.
Is it possible to have the template im calling output its content as i
wanted?

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>

<xsl:include href="layout.xsl"/>
<xsl:include href="header.xsl"/>

<xsl:template match="releasepage" name="main" >
	<div>A table for the main template</div>
	<table>
	  <tbody>
	    <xsl:for-each select="releases/row">
	      <tr>
	        <xsl:for-each select="date">
	          <td>
	            <xsl:apply-templates/>
	          </td>
	        </xsl:for-each>
	        <xsl:for-each select="name">
	          <td>
	            <xsl:apply-templates/>
	          </td>
	        </xsl:for-each>
	      </tr>
	    </xsl:for-each>
	  </tbody>
	</table>
</xsl:template>

</xsl:transform>

On Fri, 18 Mar 2005 08:45:45 -0500, Maria Amuchastegui
<mamuchastegui@xxxxxxxxxxx> wrote:
> You could do that with a named template:
> 
> <?xml version="1.0" encoding="UTF-8"?> <xsl:transform version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>         <xsl:output method="html"/>
>         <xsl:template match="page">
>                 <html>
>                         <head>
> 
>                 </head>
>                         <body>
>                                 <div id="header">
>                                         <xsl:call-template name="header"/>
>                                 </div>
>                                 <div id="main">
>                                         <xsl:call-template name="main"/>
>                                 </div>
>                         </body>
>                 </html>
>         </xsl:template>
> 
>         <xsl:template name="header">
>                 <!-- do stuff here -->
>         </xsl:template>
> 
>         <xsl:template name="main">
>                 <!-- do stuff here -->
>         </xsl:template>
> 
> </xsl:transform>
> 
> 
> -----Original Message-----
> From: Chris [mailto:phatfish@xxxxxxxxx]
> Sent: Friday, March 18, 2005 8:39 AM
> To: XSL List
> Subject: [xsl] Can i use apply-templates to match a xsl:template element?
> 
> I would like the output of a xsl:template element to appear in a 
> specific location in stylesheet. Can i use apply-templates to match 
> the template i want and have it output there?
> 
> eg:
> <?xml version="1.0" encoding="UTF-8"?> <xsl:transform version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:output method="html"/>
> 
> <xsl:template match="page">
>         <html>
>                 <head>
> 
>                 </head>
>                 <body>
>                         <div id="header"><xsl:apply-templates 
> select="header"/></div>
>                         <div id="main"><xsl:apply-templates 
> select="main"/></div>
>                 </body>
>         </html>
> </xsl:template>
> 
> </xsl:transform>
> 
> This file will be included into my stylesheets and used as a base 
> layout. I would like the xsl:template with name="main" to output into 
> the location above. But im not sure if this is allowed, does select 
> only relate an element in the source xml document?
> 
> I hope you can see what im trying to do, Thanks :)


Current Thread
Keywords