[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Weird behavior with attributes and >

Subject: Re: Weird behavior with attributes and >
From: Mike Brown <mike@xxxxxxxx>
Date: Fri, 31 Aug 2001 20:40:53 -0600 (MDT)
xsl generate jsp
Nesbitt, David wrote:
> I need to generate JSP v1.0 (so I can't use the new JSP XML
> representations).  Here is what I have tried to do:
> 
> <xsl:output method="html"/>
> <xsl:variable name="open.expression"><![CDATA[<%= ]]></xsl:variable>
> <xsl:variable name="close.expression"><![CDATA[ %>]]></xsl:variable>
> . . .

The CDATA sections are only a convenience for input so that you don't
have to escape markup characters. It has exactly the same meaning as 
if escaped the markup characters and didn't wrap it in the CDATA tags.

This would be more efficient for the processor:

<xsl:variable name="open.expression" select="'&lt;%= '"/>
<xsl:variable name="open.expression" select="' &gt;'"/>

because it would create strings rather than result tree fragments.

>     <input>
>         <xsl:attribute name="type">hidden</xsl:attribute>
>         <xsl:attribute name="name">
>             <xsl:value-of select="$open.expression"
> disable-output-escaping="yes"/>javaName<xsl:value-of
> select="$close.expression" disable-output-escaping="yes"/>
>         </xsl:attribute>
>         <xsl:attribute name="value">
>             <xsl:value-of select="$open.expression"
> disable-output-escaping="yes"/>javaValue<xsl:value-of
> select="$close.expression" disable-output-escaping="yes"/>
>         <xsl:attribute name="value">
>     </input>
> 
> Unfortunately, the following gets created:
> 
>     <input type="hidden" name="<%= javaName %&gt;" value="<%= javaValue
> %&gt;">

disable-output-escaping applies to the instructions that create text
nodes, but if the instruction is creating the content template for
xsl:attribute, the flag won't apply to the attribute node.

XSLT doesn't allow for attributes to have their escaping disabled, so
vendors have implemented their own solutions to this "problem". SAXON, for
example, has a saxon:disable-output-escaping for xsl:attribute elements.

A pure XSLT solution would involve some very ugly, but not impossible, 
simulation of element start and end tags using text nodes with disabled 
output escaping.

   - Mike
____________________________________________________________________________
  mike j. brown, fourthought.com  |  xml/xslt: http://skew.org/xml/
  denver/boulder, colorado, usa   |  personal: http://hyperreal.org/~mike/

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.