xsl-list
[Top] [All Lists]

Re: Can i use apply-templates to match a xsl:template eleme nt?

2005-03-18 08:19:06
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(_at_)to(_dot_)epost(_dot_)ca> 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(_at_)gmail(_dot_)com]
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 :)

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>