1

我需要帮助以 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 or'href=http://'是否正确。当我尝试使用contains('<a href')来测试时,我得到了错误。我很感激朝着正确的方向轻推。我认为我没有使用正确的陈述来完成这项工作。

4

1 回答 1

0

尝试使用string-length选择href字符串的实际长度:

substring($text, 8, string-length($text) - 13)
于 2012-05-31T04:34:39.407 回答