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:52:28 +0000 |
Thats the xml data, its a work in progress, so dont be too harsh on it :) Its generated and transformed in PHP5 to output HTML. releases is the data for the loop, releasepage is whats being matched by my xsl:template element at the moment. <?xml version="1.0"?> <page> <header stylesheet="header.xsl"/> <body stylesheet="releases.xsl"> <releasepage> <releases> <row iteration="0"> <date>2005-01-01</date> <name>Release Name 1</name> </row> <row iteration="1"> <date>2005-01-02</date> <name>Release Name 2</name> </row> <row iteration="2"> <date>2005-01-03</date> <name>Release Name 3</name> </row> <row iteration="3"> <date>2005-01-04</date> <name>Release Name 4</name> </row> <row iteration="4"> <date>2005-01-05</date> <name>Release Name 5</name> </row> <row iteration="5"> <date>2005-01-06</date> <name>Release Name 6</name> </row> </releases> </releasepage> </body> <footer stylesheet="footer.xsl"/> </page> Thanks for the comment btw Jay, i didnt notice another reply untill i had sent the mail before :) On Fri, 18 Mar 2005 10:29:24 -0500, Maria Amuchastegui <mamuchastegui@xxxxxxxxxxx> wrote: > 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Can i use apply-templates, Maria Amuchastegui | Thread | Re: [xsl] Can i use apply-templates, JBryant |
RE: [xsl] Problem while Xpath-ing a, JBryant | Date | RE: [xsl] implementation of xslt 2., Michael Kay |
Month |