xsl-list
[Top] [All Lists]

RE: escaping tags

2004-02-04 07:59:45

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



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