RE: Escaping within an xsl:attribute element

Subject: RE: Escaping within an xsl:attribute element
From: Mike Brown <mbrown@xxxxxxxxxxxxx>
Date: Wed, 8 Dec 1999 20:08:19 -0700
Brett McLaughlin wrote:
>       <xsl:text>
>        <td valign="bottom" align="right" nowrap>
>         <font face="Arial" size="-1" color="Silver">
>          <b>&nbsp;&nbsp;Welcome, Brett</b>
>         </font>
>        </td>
>       </xsl:text>

To expand on what David Carlisle said, even if you did manage to get the
text in there (and there *is* a way to do it), you'd be disappointed with
the results.

Once you strip "<", ">", and "&" of their special meaning as element and
entity reference boundaries, they will forever be just those individual
characters. The consequences of this is are that they cannot be represented
in a valid XML or HTML document as anything other than entity references
like &lt; &gt; and &amp;.

There is actually a way to have two wrongs make a right by disabling that
output escaping on a case-by-case basis, but you're really using the wrong
approach if you are trying to treat markup as text. Let that structured
information have some dignity.

Try this instead of the <xsl:text>...</xsl:text>:

<xsl:variable name="MyResultTreeFragment">
  <td valign="bottom" align="right" nowrap="nowrap">
    <font face="Arial" size="-1" color="Silver">
      <b>&#160;&#160;Welcome, Brett</b>
    </font>
  </td>
</xsl:variable>
<xsl:copy-of select="$MyResultTreeFragment"/>


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


Current Thread