1

リンクを XML 形式で返して Web サイトに表示する方法を教えてください。現在、私は使用しています

    <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>

'href=http://'$text またはが正しいかどうかはわかりません。contains('<a href')テストに使用しようとすると、エラーが発生します。正しい方向に微調整していただければ幸いです。これを機能させるために正しいステートメントを使用しているとは思いません。

4

1 に答える 1

0

string-lengthを使用して、 href文字列の実際の長さを選択してみてください。

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