Subject: Re: [xsl] Can i use apply-templates to match a xsl:template eleme nt? From: Chris <phatfish@xxxxxxxxx> Date: Fri, 18 Mar 2005 15:19:06 +0000 |
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Can i use apply-templates, Maria Amuchastegui | Thread | RE: [xsl] Can i use apply-templates, Maria Amuchastegui |
Re: [xsl] decorator / wrapper desig, Stef | Date | RE: [xsl] Can i use apply-templates, Maria Amuchastegui |
Month |