xsl-list
[Top] [All Lists]

RE: WG: character escaping when using saxon 6.5.2 from java

2003-03-27 04:02:08
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(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Daniel Brauer
Sent: 27 March 2003 07:23
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_dot_)brauer(_at_)img-online(_dot_)de         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