[ Kathy Burke]
... I've also tried using
a javascript
within CDATA.
<head>
<msxsl:script language="javascript"
implements-prefix="kb"><![CDATA[
function openWindow()
{
window.open(), 'Link Window', 'toolbar=1,
menubar=1 resizable=1, dependent=0, status=0
width=400, height=300, left=25,
top=25')
}
]]>
</msxsl:script>
</head?
then used this template:
<xsl:template match="link">
<a href="javascript:openWindow({(_at_)url})">
<xsl:apply-templates/></a>
</xsl:template>
with no success.
I'm not asking a javascript question...I'm asking how I can
correctly refer
to the {(_at_)url} within my href.
Well, two things. We can have no idea about {(_at_)url} giving you "no
success" - we do not know what you _did_ get, we do not know what the
source xml is like, and we do not know what context your template is
seeing.
That's one. Second, I see no purpose for the msxsl:script element. Are
you not just producing javascript? That is what it looks like. If you
are producing an html page, you want to end up with a script element, so
just use one -
<head>
<script language="javascript">
function openWindow()
{
window.open( 'Link Window', 'toolbar=1,
menubar=1 resizable=1, dependent=0, status=0,
width=400, height=300, left=25,
top=25')
}
</script>
</head>
(I corrected a few typos) Using a CDATA section is OK, but you do not
need it here because there is nothing that needs escaping.
In your template, it seems very unusual to have an apply-templates
instruction within the body of an anchor element. An anchor is supposed
to contain only inline elements - it is not clear why you would need
apply-templates. If it is going to return structured information, an
anchor element is the wrong place for it. If it is going to return a
bit of text like a label, chances are you can do it with just
xsl:value-of.
Cheers,
Tom P
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list