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/

posted on 2017-09-18 14:15  今夜太冷  阅读(210)  评论(0编辑  收藏  举报