7

私は XSLT が初めてです。XSLT を使用してハイパーリンクを作成したいと考えています。次のようになります。

当社のプライバシー ポリシーをお読みください。

「プライバシー ポリシー」はリンクであり、これをクリックすると、例「www.privacy.com」にリダイレクトされます。

何か案は?:)

4

3 に答える 3

13

この変換:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:template match="/">
  <html>
   <a href="www.privacy.com">Read our <b>privacy policy.</b></a>
  </html>
 </xsl:template>
</xsl:stylesheet>

任意のXML ドキュメント (使用されていない)に適用すると、必要な結果が生成されます

<html><a href="www.privacy.com">Read our <b>privacy policy.</b></a></html>

これはブラウザによって次のように表示されます

当社のプライバシー ポリシーをお読みください。

ここで、XSLT スタイルシートに何もハードコードされていないことを想像してください。代わりに、データはソース XML ドキュメントにあります

<link url="www.privacy.com">
 Read our <b>privacy policy.</b>
</link>

次に、この変換

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="node()|@*">
  <xsl:copy>
   <xsl:apply-templates select="node()|@*"/>
  </xsl:copy>
 </xsl:template>

 <xsl:template match="link">
  <a href="{@url}"><xsl:apply-templates/></a>
 </xsl:template>
</xsl:stylesheet>

上記の XML ドキュメントに適用すると、必要な正しい結果が得られます。

<a href="www.privacy.com">
 Read our <b>privacy policy.</b>
</a>
于 2012-04-17T04:02:44.627 に答える
8

XML ファイルからハイパーリンクの値を読み取りたい場合は、次のようにします。

仮定: hrefは、XML の特定の要素の属性です。

 <xsl:variable name="hyperlink"><xsl:value-of select="@href" /></xsl:variable>
 <a href="{$hyperlink}"> <xsl:value-of select="@href" /></a>
于 2013-02-15T20:04:18.290 に答える
-2

XSLT でハイパーリンクが必要な場合は、XSLT を使用して HTML 出力を作成する必要があります。HTML では、このようなハイパーリンクを作成できます

<a href="http://www.yourwebsite.com/" target="_blank">Read our privacy policy.</a>

この場合、テキスト全体が www.yourwebsite.com を指すハイパーリンクになります。

于 2012-04-17T03:41:36.670 に答える