我有一些存储在Sharepoint发布列中的文档URL。当我使用以下内容将信息输出到HTML页面时
<xsl:value-of select="@[ColumnName]" />
在ItemStyle.xml
中,我在页面中显示[url]
,[document name]
。我想将这个显示为URL,任何人都可以帮助使用XSL吗?
答案 0 :(得分:4)
您可以使用:
<xsl:value-of select="substring-before(@[ColumnName],',')"/>
或任何分隔符。
答案 1 :(得分:3)
谢谢大家,最后我基于post at sguk
找出了以下内容<xsl:variable name="Doc">
<xsl:call-template name="OuterTemplate.GetTitle">
<xsl:with-param name="Title" select="@DocumentLink1"/>
</xsl:call-template>
</xsl:variable>
使用以下标记代码:
<a href="{substring-before($Doc,',')}">
<xsl:value-of select="substring-after($Doc,',')" />
</a>
或图片:
<xsl:variable name="Image">
<xsl:call-template name="OuterTemplate.GetTitle">
<xsl:with-param name="Title" select="@img" />
</xsl:call-template>
</xsl:variable>
使用以下img标记:
<img src="{substring-before($Image,',')}" alt="{substring-after($Image,',')}" />
我在这里发布了解决方案,因为这被证明是非常难以弄明白的(可能是我的错,因为我没有真正'得到'XSL)但是以防任何人都在寻找它,这段代码输出图像或链接来自Sharepoint中的“超链接或图片”列类型。
答案 2 :(得分:0)
您可以做的另一件事是获取一个正确显示URL的列表(如链接列表),并使用SharePoint Designer将其转换为DataView WebPart。在那里将有适当的XSL进行转换。
答案 3 :(得分:0)
最简单的方法是使用SharePoint设计器:
答案 4 :(得分:0)
这有希望有所帮助。输入超链接时显示“项目站点”,不显示时显示空格。
<!--Project Site--><TD Class="{$IDAAO2UG}">
<xsl:variable name="Field" select="@Project_x0020_Site" />
<xsl:choose>
<xsl:when test="substring-before(@Project_x0020_Site, ', ')=''"><xsl:value-of select="substring-after(@Project_x0020_Site, ', ')" /></xsl:when>
<xsl:otherwise><A HREF="{substring-before(@Project_x0020_Site, ', ')}">
<xsl:choose>
<xsl:when test="substring-after(@Project_x0020_Site, ', ')=''"><xsl:value-of disable-output-escaping="no" select="substring-before(@Project_x0020_Site, ', ')" /></xsl:when>
<xsl:otherwise><xsl:value-of select="substring-after(@Project_x0020_Site, ', ')" /></xsl:otherwise>
</xsl:choose>
</A></xsl:otherwise>
</xsl:choose>
</TD>
答案 5 :(得分:0)
在SharePoint 2013中,您必须执行一些不同的操作,因为@Url
属性不再以逗号分隔。现在有一个.desc
子属性@Url
。下面是一个如何工作的例子,希望这可以节省其他人一些时间。
<xsl:template name="dvt_1.rowview">
<xsl:if test="string-length(@URL) > 0">
<div class="link-item item">
<a title="{@Comments}" target="_blank" href="{@URL}">
<xsl:value-of select="@URL.desc" />
</a>
</div>
</xsl:if>
</xsl:template>