RE: RE: [xsl] Problems with entities

Subject: RE: RE: [xsl] Problems with entities
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 19 Nov 2003 23:13:22 -0000
> This is a piece of the doc:
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <xsl:stylesheet version="1.0" 
>       <xsl:if test="ROWSET">
> 	  <td> 
> 	    <a href="JavaScript:eliminar_datos('DIR', 
> document.frm.chkDelDir, 'una dirección', 'las direcciones');">
>             <img src="../../images/bt_eliminar.gif" border="0" /> 
>           </a>
>         </td>
>       </xsl:if>

The problem is that the HTML spec requires the href attribute to hold a
URI, and this isn't a URI. The XSLT spec requires the processor to
escape the string using the rules for URI escaping, which isn't what
your browser is expecting, because it's not actually expecting correct
HTML here. The %xx%xx is the special escape convention for non-ASCII
characters in URI values.

XSLT 2.0 and some XSLT 1.0 processors allow you to suppress the escaping
of URI-valued attributes in the HTML output method. Your best bet,
though, is to restrict the href attribute to a simple Javascript call
with no parameters, and define the actual Javascript code in HTML
<script> elements.

Michael Kay


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


Current Thread