[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
What is the best way to determine the extension of a file when the webroot-relative path is stored in a variable, assuming the path may contain any number of "." characters (so I can't use substring-after)? For instance if $lcpath contains /images/dir.path/file.png how do I set $ext to be "png"? Below is the best I have been able to come up with - suggestions greatly appreciated.
<xsl:variable name="lcpath" select="/images/dir.path/file.png" />
<xsl:variable name="pos">
<xsl:choose>
<xsl:when test="substring( $lcpath, string-length( $lcpath ) - 5, 1 ) = '.'">4</xsl:when>
<xsl:when test="substring( $lcpath, string-length( $lcpath ) - 4, 1 ) = '.'">3</xsl:when>
<xsl:when test="substring( $lcpath, string-length( $lcpath ) - 3, 1 ) = '.'">2</xsl:when>
<xsl:when test="substring( $lcpath, string-length( $lcpath ) - 2, 1 ) = '.'">1</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="ext" select="substring( $lcpath, string-length( $lcpath ) - $pos )" />
[xsl] Determine file extension of path stored in variable
Subject: [xsl] Determine file extension of path stored in variable From: John <john-xsl-list@xxxxxxxx> Date: Mon, 27 Dec 2004 08:23:34 -0800 |
What is the best way to determine the extension of a file when the webroot-relative path is stored in a variable, assuming the path may contain any number of "." characters (so I can't use substring-after)? For instance if $lcpath contains /images/dir.path/file.png how do I set $ext to be "png"? Below is the best I have been able to come up with - suggestions greatly appreciated.
<xsl:variable name="lcpath" select="/images/dir.path/file.png" />
<xsl:variable name="pos">
<xsl:choose>
<xsl:when test="substring( $lcpath, string-length( $lcpath ) - 5, 1 ) = '.'">4</xsl:when>
<xsl:when test="substring( $lcpath, string-length( $lcpath ) - 4, 1 ) = '.'">3</xsl:when>
<xsl:when test="substring( $lcpath, string-length( $lcpath ) - 3, 1 ) = '.'">2</xsl:when>
<xsl:when test="substring( $lcpath, string-length( $lcpath ) - 2, 1 ) = '.'">1</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="ext" select="substring( $lcpath, string-length( $lcpath ) - $pos )" />
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] RE: XSL Transformation!!, cknell | Thread | Re: [xsl] Determine file extension , Mukul Gandhi |
[xsl] Re: Transformations between d, Garfield | Date | Re: [xsl] Radio Button Values, Thorr Giddings |
Month |