Altova Mailing List Archives


RE: [xsl] Transforming double quotes

From: "Michael Kay" <mike@------------>
To:
Date: 6/23/2008 4:49:00 PM
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: [xsl] 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.

Disclaimer

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.