last() is a number >= 1, so boolean(last()) is always true, and not(last())
is always false. So a filter expression using the predicate [not(last())]
will always deliver an empty sequence.
Use [position() ne last()]
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Robert Koberg [mailto:rob(_at_)koberg(_dot_)com]
Sent: 10 February 2009 16:53
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] most efficient way to get XML source's parent dir path
Hi,
I want to get the path to the parent directory of the XML
used as the source in a transformation.
Is this the best way?
<xsl:variable
name="path-tokens"
select="tokenize(document-uri(/), '/')" as="xs:string*"/>
<xsl:variable
name="source-dir-path"
select="string-join(remove($path-tokens,
count($path-tokens)), '/')" as="xs:string"/>
I also unsuccessfully tried to use only one variable:
<xsl:variable
name="source-dir-path-test"
select="string-join(tokenize(document-uri(/),
'/')[not(last())], '/')" as="xs:string"/>
which results in an empty string.
Is there a better way?
thanks,
-Rob
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--