Subject: Re: Transforming double quotes
From: "Darcy Parker" <darcyparker@xxxxxxxxx>
Date: Mon, 23 Jun 2008 11:27:28 -0400
|
Hi Aaron,
You need to escape your quotes. Michael Kay and others have answered
questions about escaping quotes before... For example:
http://www.biglist.com/lists/xsl-list/archives/200604/msg00460.html
With regards to your script... I am not sure how you formatted the
CDATA... but the following is what most people do:
<script type="text/javascript">
//<![CDATA[
//]]>
</script>
On Mon, Jun 23, 2008 at 11:15 AM, Aaron Johnson <artpunx@xxxxxxxxx> wrote:
> 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 " 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) > 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 = (("https:" == document.location.protocol) ?
> " ....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.
|