|
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 |