xsl-list
[Top] [All Lists]

RE: closing a template inside a table, forbidden?

2003-01-04 08:49:32
Hy Julian,

it should output this certain table every time an article element exists, with 
the title of the article
at the top of the table, and then depending on the existence of a sect1 
element, adding the elemnts in it and so on.

At the moment it looks like this,without the article/title as a headline in my 
document. :

---CODE---

<xsl:template match="article">
        
        
          <table border="0" cellspacing="0" cellpadding="0" width="610" 
height="48">
                 
                 <tr>
                        <td rowspan="2" height="48" 
width="162"><xsl:apply-templates select="mediaobject[(_at_)id='titel']"/></td>
                        <td height="28" width="100%" id="mainColor"></td>       
                </tr>
                 
                 <tr>
                        <td height="20" width="100%" 
id="hiColor"><xsl:apply-templates select="mediaobject[(_at_)id='box']"/></td>
                        <td></td>
                </tr>
          </table>
                
          <table width="610" height="48" cellpadding="0" cellspacing="0" 
border="0" id="sectBackground">

                <tr>
                        <td colspan="3" height="20" width="610" id="white" 
align="right"><xsl:apply-templates select="link"/></td>
                </tr>
                   <xsl:choose>
                          <xsl:when test 
="mediaobject[(_at_)id='contentpicture']"> <!-- sollte es kein Bild geben wird 
der Abstand zum Kategorietitel verringert -->
                         <tr>
                                <td colspan="3" height="10"><img 
src="fake.kill/img/pixel.gif" height="10" width="610" /></td>  
                        </tr>   
                                <xsl:apply-templates 
select="mediaobject[(_at_)id='contentpicture']"/>
                        </xsl:when>
                        <xsl:otherwise>
                          <tr>
                                <td colspan="3" height="25"><img 
src="fake.kill/img/pixel.gif" height="10" width="610" /></td>  
                          </tr>
                        </xsl:otherwise>
                    </xsl:choose>
           </table>
                
                
        <xsl:apply-templates select="sect1[(_at_)lang = $lang or not(@lang)]"/>

  </xsl:template>
                
        <!-- ************SECT1 PROCESSING CONTENT ************** -->
                
        <xsl:template match="article/sect1[(_at_)lang= $lang or not(@lang)]">   
                <table width="610" height="48" cellpadding="0" cellspacing="0" 
border="0" id="sectBackground">
                                 
                                 <!-- MARKED POSITION FOR ARTICLE TITLE -->
                                  <xsl:apply-templates/>

                </table>
                                <xsl:apply-templates 
select="../note[(_at_)lang= $lang]"/>
                
                                        
        </xsl:template>
        
        <!-- ************SECT1 PROCESSING CONTENT END*********** -->
...
---CODE--

I want to add the article title at the marked position. But if I do it that 
way, I have the title in every sect1 element of course.
So I thought I could make the template for matching an article a little bit 
longer, that it includes the start of the table, and then just put the title at 
its position.
But now I see that this cannot work and I don't want to create a whole new 
table for a single title.

So how would you do it? 

Thanks.
Homer30

*********** REPLY SEPARATOR  ***********

On 04.01.2003 at 15:11 Julian Reschke wrote:

Yes.

XSLT documents must be well-formed XML.

What is it supposed to do?

--
<green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760 

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of 
Hubert Holtz
Sent: Saturday, January 04, 2003 2:53 PM
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] closing a template inside a table, forbidden?


Hy,

is this forbidden ?

-----CODE-----

<xsl:template match="article">
<table>
...
 
</table>     
     <!-- ************SECT1 PROCESSING CONTENT ************** -->
             
             <table width="610" height="48" cellpadding="0" 
cellspacing="0" border="0" id="sectBackground">
             
             <xsl:apply-templates select="./title[(_at_)lang= $lang]"/>
             <xsl:apply-templates select="sect1[(_at_)lang = $lang or 
not(@lang)]"/>

  </xsl:template>
             
             <xsl:template match="article/sect1[(_at_)lang= $lang or 
not(@lang)]">
              
                               
                               <xsl:apply-templates/>

             </table>

----CODE----

I get the following error:

The element type "table" must be terminated by the matching end-tag "".

description org.apache.cocoon.ProcessingException: Exception in 
creating Transform Handler: org.xml.sax.SAXParseException: The 
element type "table" must be terminated by the matching end-tag "".

And if it is forbidden, why?

Thanks.
Steve


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

J


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list