xsl-list
[Top] [All Lists]

RE: Finding the path from the filename

2003-01-20 08:35:01
What you need is the position of the last \ character. So first write a
template that returns you the position of the last \. Therefore you need
something like this:

<xsl:template name="lastCharPosition">
        <xsl:param name="original"/>
        <xsl:param name="character"/>
        <xsl:variable name="char_len">
                <xsl:value-of select="string-length($character)"/>
        </xsl:variable>
        <xsl:choose>
                <xsl:when test="contains($original,$character)">
                        <xsl:choose>
                                <xsl:when
test="contains(substring-after($original,$character),$character)">
                                        <xsl:call-template
name="lastCharPosition">
                                                <xsl:with-param
name="original" select="substring-after($original,$character)"/>
                                                <xsl:with-param
name="character" select="$character"/>
                                        </xsl:call-template>
                                </xsl:when>
                                <xsl:otherwise>
                                        <xsl:value-of
select="string-length(substring-before($original,$character))+$char_len"/>
                                </xsl:otherwise>
                        </xsl:choose>
                </xsl:when>
                <xsl:otherwise>
                        <xsl:value-of select="string-length($original)"/>
                </xsl:otherwise>
        </xsl:choose>
</xsl:template>

If you have this position you can use the substring-before() function to
return everything before the file name.

Hope this helps.

Kind regards,
Ismaël

-----Original Message-----
From: Thomas V. Nielsen [mailto:thomas(_at_)integrator(_dot_)dk]
Sent: maandag 20 januari 2003 16:18
To: XSL List
Subject: [xsl] Finding the path from the filename


In a XSLT I receive a parameter with a full path and file name, like;

C:\Data\Test\File.xml

I have tried fumbling with substring and substring-before, but with no
luck.

What I need is the full path without the file name, like C:\Data\Test\

Sometimes parameter looks like this

..\Test\File.xml

And also here I need to find the path, like ..\Test\

Any suggestions in how to use the substring with some iteration?

/Thomas

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>