On 4/12/06, Wendell Piez <wapiez(_at_)mulberrytech(_dot_)com> wrote:
At 06:37 AM 4/12/2006, drkm wrote:
andrew welch wrote:
<xsl:template match="a">
<a href="{ancestor::para/docBase}">.....
I'm not sure, but I think the OP needs "ancestor::para[1]/...",
doesn't it?
Not if there's only one (which seems likely). Even if there's more
than one, when ancestor::para/docBase is turned into a string, the
value of the first such element in document order is taken.
In XPath 2.0 you could get an error for relying on this, however,
since in 2.0 a sequence of more than one node can't be converted into
a string. There, you might be better off forcing it to be the first,
as in (ancestor::para/docBase)[1].
In an AVT the values get concatenated using a space separator... but
I'm guessing you meant as arguments to functions...
I disagree with your second point though, using (..)[1] should be
avoided as it will hide the fact that you selected multiple nodes when
you only wanted one - this is the real strength of 2.0 over 1.0 - in
1.0 you would only trap this by examining the output, in 2.0 you get
an error.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--