Re: [xsl] javascript hyperlink ?

Subject: Re: [xsl] javascript hyperlink ?
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 28 Sep 2006 10:52:54 -0400
Hi,

Maybe Jeremy is asking for the frequently-requested Attribute Value Template (AVT).

Jeremy, that would be

<a href ="javascript:void(0)" onclick="jsFunction('{$parameter}')">...</a>

If your XSLT parameter is named "parameter". The curly braces tell the XSLT engine to process their content as an expression, instead of treating the whole thing as a literal.

So if $parameter had the value "ohboy" you'd get onclick="jsFunction('ohboy')" in your HTML output -- is that what you wanted?

If not, please clarify. As David implies, understanding the layering is the key to getting this. An XSLT transformation is a process that generates output that, here, will then be input to another process. The browser's execution of any script in the HTML result file is completely independent of the XSLT. This makes your job easy, since all you have to do in the XSLT is generate whatever HTML/Javascript will work -- which you can develop and test separately.

Cheers,
Wendell

At 10:42 AM 9/28/2006, David wrote:
What exactly is your question though?
XSLT knows nothing about javascript (or html) you are just generating a
tree of elements and attributes, the significance of an href attribute
and javascript code in it only occurs when (if) the result of the xslt
transform is processed by an html engine.

> what the html should look like:
> <a href ="javascript:void(0)" onclick="jsFunction('parameter')">
> Call to javascript</a>

<xsl:template match="foo">
<a href ="javascript:void(0)" onclick="jsFunction('parameter')">
Call to javascript</a>
</xsl:template>

would generate your desired output for each foo element in the input,
but I suspect that isn't what you want as that seems too simple??

Current Thread