私は XSLT が初めてです。XSLT を使用してハイパーリンクを作成したいと考えています。次のようになります。
当社のプライバシー ポリシーをお読みください。
「プライバシー ポリシー」はリンクであり、これをクリックすると、例「www.privacy.com」にリダイレクトされます。
何か案は?:)
私は XSLT が初めてです。XSLT を使用してハイパーリンクを作成したいと考えています。次のようになります。
当社のプライバシー ポリシーをお読みください。
「プライバシー ポリシー」はリンクであり、これをクリックすると、例「www.privacy.com」にリダイレクトされます。
何か案は?:)
この変換:
<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>
XML ファイルからハイパーリンクの値を読み取りたい場合は、次のようにします。
仮定: hrefは、XML の特定の要素の属性です。
<xsl:variable name="hyperlink"><xsl:value-of select="@href" /></xsl:variable>
<a href="{$hyperlink}"> <xsl:value-of select="@href" /></a>
XSLT でハイパーリンクが必要な場合は、XSLT を使用して HTML 出力を作成する必要があります。HTML では、このようなハイパーリンクを作成できます
<a href="http://www.yourwebsite.com/" target="_blank">Read our privacy policy.</a>
この場合、テキスト全体が www.yourwebsite.com を指すハイパーリンクになります。