Subject: RE: top level params and xsl:attribute magic?
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Sun, 19 Jan 2003 20:16:17 -0000
|
> I'm beginning to think that XSLT is a bit like magic. If you
> think the
> right way, and use the right magic incantation, it works like
> a charm. If you don't, no cigar.
I would have said that was a characteristic of computer programming in
general.
>
> I have this top-level param to grab a param from http:
> <xsl:param name="StartPointStr">.</xsl:param>
>
> The param StartPointStr is an Xpath string. Next I have this (which
> works) (1)
> <xsl:param name="StartNode" select="dyn:evaluate($StartPointStr)"/>
>
> Compare to this (which doesn't work): (2)
> <xsl:param name="StartNode">
> <xsl:attribute name="select">
> <xsl:value-of select="dyn:evaluate($StartPointStr)"/>
> </xsl:attribute>
> </xsl:param>
>
> (1) works and (2) doesn't work. With two, I get nothing, empty node
> set. They should be equivalent!
They are completely different. (1) passes the result of evaluating the
expression held in $StartPointStr. (2) attempts to pass a result tree
fragment containing an attribute node whose name is "select" and whose
value is the result of evaluating the expression held in $StartPointStr.
XSLT doesn't allow creation of attribute nodes except when they are
attached to an element, so this should throw an error.
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|