[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] escaping tags


Subject: RE: [xsl] escaping tags
From: "Andrew Welch" <AWelch@xxxxxxxxxxxxxxx>
Date: Wed, 4 Feb 2004 14:59:45 -0000

> The following xsl is invalid:
> 
> <xsl:if test="aTest">
>   <TABLE>
> </xsl:if>
> 
> But what if I WANTED to open the tag here without closing it? 
>  Is there a 
> way to escape the "<" and the ">"?  I know you can use 
> "&lt;"/"&gt;" but 
> these remain as "&lt;" / "&gt;" in the HTML.

As you are outputting to a result tree, you can only output well-formed
xml.  You don't output a string, or build a string, or add to a string.
This will become clearer as times go on.

Once the transformation has finished, a serialiser can then traverse the
result tree and give you a string.

So, bearing in mind you can only output nodes to a tree, the usual way
to 'build' a table is:

<xsl:template match="/">
  <table border="1">
    <xsl:apply-templates/>
  </table>
</xsl:template>

<xsl:template match="row">
  <tr>
    <xsl:apply-templates/>
  </tr>
</xsl:template>

<xsl:template match="entry">
  <td>
    <xsl:apply-templates/>
  </td>
</xsl:template>

(used on:)

<row>
  <entry>first column</entry>
  <entry>second column</entry>
</row>


The result tree would look something like:


       <table>
          |
         <tr>
        /   \
       /     \
     <td>    <td>
      |        |
     text()   text()


Does the ascii art help?  :)

cheers
andrew


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



Current Thread
Keywords
xsl