RE: [xsl] WG: character escaping when using saxon 6.5.2 from java

Subject: RE: [xsl] WG: character escaping when using saxon 6.5.2 from java
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 27 Mar 2003 11:02:08 -0000
Several people have pointed out to you that disable-output-escaping is
bad and unnecessary in this situation. If you have been on the list for
less than 24 hours, then you may not realize why.

disable-output-escaping requires a special secret interface between the
XSLT processor and the serializer. It breaks the rule that the XSLT
processor is creating a tree, and the serializer is turning that tree
into a stream of bytes.

In your example you show the output as
<tr><?javax.xml.transform.disable-output-escaping ?>

This has exposed the "secret interface", which is formalized by the JAXP
API in terms of processing instructions. This happens when the XSLT
processor uses the secret interface, but you supply your own serializer
which doesn't understand it. I suspect you sent the output of the
transformation to a SAXResult or DOMResult rather than to a
StreamResult, and then serialized it using a non-XSLT serializer. This
all goes to illustrate how bad disable-output-escaping is
architecturally.

There are cases where d-o-e is needed, for example when your source
document contains HTML in a CDATA section and you want to copy that
HTML, unparsed, to the output document. Writing a simple NBSP character
is not such an example. In 90% of cases where you see d-o-e used in a
stylesheet, it should not have been used.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Daniel Brauer
> Sent: 27 March 2003 07:23
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] WG: character escaping when using saxon 6.5.2 from java
> 
> 
> hi folks,
> 
> i'm trying to use saxon 6.5.2 to carry out a xslt 
> tansfomation (xml-->html) from within a java application. 
> however the escaping of "&nbsp" to enforce empty table cells 
> doesn't work.
> 
> this is an excerpt from the xslt-file:
> 
>                <tr>
>                   <td>
>                      <xsl:text 
> disable-output-escaping="yes">&amp;nbsp;</xsl:text>
>                   </td>
>                   <td>
>                      <xsl:text 
> disable-output-escaping="yes">&amp;nbsp;</xsl:text>
>                   </td>
>                   <td id="Text06">MWE</td>
>                   <td id="Text03" bgcolor="#FFFF99" colspan="5">
>                      <xsl:value-of select="AC_WEIGHT/OWE/MWE/WEIGHT"/>
>                   </td>
>                </tr>
> 
> 
> 
> using saxon from java give me somethin like:
> 
>       <tr><?javax.xml.transform.disable-output-escaping ?>
> 
>         
> <td>&amp;nbsp;<?javax.xml.transform.enable-output-escaping ?> 
> </td><?javax.xml.transform.disable-output-escaping ?>
> 
>         
> <td>&amp;nbsp;<?javax.xml.transform.enable-output-escaping ?> </td>
>         <td id="Text06">MWE</td>
>         <td id="Text03" bgcolor="#FFFF99" colspan="5">642.07</td>
>       </tr>
> 
> 
> 
> whereas using saxon from the command line (i.e. java ...) gives me:
> 
>          <tr>
>             <td>&nbsp;</td>
>             <td>&nbsp;</td>
>             <td id="Text06">MWE</td>
>             <td id="Text03" bgcolor="#FFFF99" colspan="5">642.07</td>
>          </tr>
> 
> 
> 
> i'd appreciate any help - thanks.
> 
> regards
> Daniel.
> 
> 
> 
> 
> 
> **************************************************************
> *********
> * Daniel Brauer                                               
>         *
> *                                     Ingenieurbuero Michael 
> Grabietz *
> * Phone:  ++49 (9341) 89 66 73        Luft- und 
> Raumfahrttechnik      *
> * Fax:    ++49 (9341) 89 66 71        Stauferring 56          
>         *
> * e-mail:                             D-97941 
> Tauberbischofsheim      *
> * daniel.brauer@xxxxxxxxxxxxx         Germany                 
>         *
> **************************************************************
> *********
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


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


Current Thread