[xsl] Re:

Subject: [xsl] Re:
From: "David N Bertoni/Cambridge/IBM" <david_n_bertoni@xxxxxxxxxx>
Date: Fri, 7 Jun 2002 14:10:47 -0700
Mark Turanin wrote:
> I need to find the xsl way to include arguments into a function call of a
> link element.  Here is what I tried..
>
>   <xsl:element name="A">
>            <xsl:attribute name="href">#</xsl:attribute>
>            <xsl:attribute name="onclick">vbscript:OpenWindow3
(<xsl:value-of
> select="@SSN"/>,<xsl:value-of select="@Plancode"/>)</xsl:attribute>
>             <xsl:value-of select="@SSN"/>
>  </xsl:element>
>
> Here is what I am getting and it is causing errors.
>
> <a href="#" onclick="vbscript:OpenWindow3(999-99-9999,12345)">
> 999-99-9999
> </a>
>
> I'm figuring it is because I am not surrounding each argument with "".
> However, i can't figure out how to include " in xsl.
>
> Please help.

I think this sort of thing is much easier to do using a literal result
element:

<A href='#' onclick='vbscript:OpenWindow3("{@SSN}", "{@Plancode}")'>
<xsl:value-of select="@SSN"/></A>

Of course, there's no reason why " cannot appear in a text node:

<xsl:element name="A">
  <xsl:attribute name="href">#</xsl:attribute>
  <xsl:attribute name="onclick">vbscript:OpenWindow3("<xsl:value-of select
="@SSN"/>", "<xsl:value-of select="@Plancode"/>")
</xsl:attribute>
  <xsl:value-of select="@SSN"/>
</xsl:element>

If extra whitespace matters to you, then you'll need to be careful about
embedded linefeeds.  You could also use xsl:text, if the whitespace is
undesirable, and you want to keep some standard indentation for your
stylesheet.

Dave



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


Current Thread