Get file extention in XSLT

 

When working with data view web parts or data form web parts in SharePoint, you might want to use some conditional formatting or branching logic, based on the file extention of your SharePoint item.

This xsl template returns the file extention from an URL:

<!-- Determine File Extention template -->

<xsl:template
name="get-file-extension">

    <xsl:param
name="path"/>

    <xsl:choose>

        <xsl:when
test="contains($path, '/')">

            <xsl:call-template
name="get-file-extension">

                <xsl:with-param
name="path"
select="substring-after($path, '/')"/>

            </xsl:call-template>

        </xsl:when>

        <xsl:when
test="contains($path, '.')">

            <xsl:call-template
name="get-file-extension">

                <xsl:with-param
name="path"
select="substring-after($path, '.')"/>

            </xsl:call-template>

        </xsl:when>

        <xsl:otherwise>

            <xsl:value-of
select="$path"/>

        </xsl:otherwise>

    </xsl:choose>

</xsl:template>

 

It runs recursively through the parameter "path" and returns the extention.

You can call and use it like this:

<xsl:variable
name="extension">

    <xsl:call-template
name="get-file-extension">

        <xsl:with-param
name="path"
select="@yourcolumnname"
/>

    </xsl:call-template>

</xsl:variable>

<!-- example use in branching logic -->

<xsl:choose>

    <xsl:when
test="$extension = 'pdf'">

        <!-- add your logic -->

    </xsl:when>

</xsl:choose>

 

 

From: http://morg.nl/2012/02/get-file-extention-in-xslt/

上一篇:Linux多命令顺序运行


下一篇:传播正能量——做一个快乐的程序员