xsl-list
[Top] [All Lists]

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

2009-02-10 11:57:15
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>
--~--