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

RE: Transforming double quotes

Subject: RE: Transforming double quotes
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 23 Jun 2008 17:48:11 +0100
RE:  Transforming double quotes
XSLT 2.0 makes it clear that the HTML serialization method is not supposed
to do this.

XSLT 1.0 leaves such decisions rather more to the discretion of the
implementor. If your product is doing this, I can't think of any way of
preventing it.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Aaron Johnson [mailto:artpunx@xxxxxxxxx] 
> Sent: 23 June 2008 16:16
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  Transforming double quotes
> 
> Hi!
> 
> I am having a problem passing double quotes. I am trying to 
> output some javascript inside a template, when the template 
> is transformed the double quotes come through as &quot; in 
> the resulting html.
> 
> Here is the template...
> 
> <xsl:template name="analytics">
> 	<xsl:param name="virtualPage">
> 		<!--Focused primary tab-->
> 		<xsl:text>/</xsl:text>
> 		<xsl:value-of select="//focusedTab/@name"/>
> 		<xsl:if test="count(//folder) &gt; 1">
> 			<!--Focused sub tab-->
> 			<xsl:text>/</xsl:text>
> 			<xsl:value-of
> select="//layout/subtabs/folder/folder[@isFocused='true']/@name"/>
> 		</xsl:if>
> 		<xsl:if test="//focusedContent">
> 			<!--Maximised channel-->
> 			<xsl:text>/</xsl:text>
> 			<xsl:value-of 
> select="//focusedContent/channel/@name"/>
> 		</xsl:if>
> 		<xsl:text>.htm</xsl:text>
> 	</xsl:param>
> 	<script type="text/JavaScript">
> 		var gaJsHost = (("https:" == 
> document.location.protocol) ?
> "https://ssl." : "http://www.");
> 		document.write(unescape("%3Cscript src='" + 
> gaJsHost + "google-analytics.com/ga.js'
> type='text/javascript'%3E%3C/script%3E"));
> 	</script>
> 	<script type="text/javascript">
> 		var pageTracker = _gat._getTracker("UA-554771-3");
> 		pageTracker._initData();
> 		pageTracker._trackPageview("<xsl:value-of 
> select="$virtualPage"/>");
> 	</script>
> 	</xsl:template>
> 
> Here is a smaple of the result...
> 
> var gaJsHost = ((&quot;https:&quot; == document.location.protocol) ?
> &quot; ....etc etc
> 
> I have tried adding a CDATA wrapping element as well as 
> coding the quotes as numeric entities and putting the whole 
> thing in xsl:text elements with an added escaping output 
> attribute.....all unsuccessful.
> 
> Can anyone point me in the right direction?
> 
> Thanks in advance!
> 
> Aaron.

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-2011 All Rights Reserved.