我需要帮助获取以XML格式返回的链接以显示在网站上。目前我正在使用
<xsl:for-each select="Summary/text">
<p>
<xsl:value-of select="self::*"/>
</p>
这会抓取每个段落并正确缩进。除了我们获得的链接之外,这非常有用。我对该怎么做有点困惑。我需要显示为超链接的文本显示为单独的段落,如下所示:
<a href=http://www.google.com</a>
所以我以为我会打电话给模板来做这件事。
<xsl:template name="hyperlink">
<xsl:param name="text"/>
<xsl:choose>
<xsl:when test="contains($text,'href=http://')">
<a>
<xsl:attribute name="href">
<xsl:value-of select="substring($text, 8, 500)"/>
</xsl:attribute>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="self::*"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
我不知道$ text或'href=http://'
是否正确。当我尝试使用contains('<a href')
进行测试时,我会收到错误。我很欣赏正确方向的推动。我认为我没有使用正确的陈述来完成这项工作。
答案 0 :(得分:0)
尝试使用 string-length 选择 href 字符串的实际长度:
substring($text, 8, string-length($text) - 13)