xsl-list
[Top] [All Lists]

Re: [xsl] most efficient way to get XML source's parent dir path

2009-02-10 11:59:29
Thanks Ken, Andrew and Mike .

I don't know why I had blinders on regarding the replace function...

thanks,
-Rob


On Feb 10, 2009, at 11:55 AM, G. Ken Holman wrote:

At 2009-02-10 11:53 -0500, Robert Koberg wrote:
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?

How about replacing the last component of the URI with nothing:

 select="replace(document-uri(/),'/[^/]*$','')"

I hope this helps.

. . . . . . . . . . Ken


--
Upcoming hands-on XSLT, UBL & code list hands-on training classes:
Brussels, BE 2009-03;  Prague, CZ 2009-03, http://www.xmlprague.cz
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
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>
--~--