如何添加可点击链接到XML?

时间:2018-04-12 12:09:43

标签: html xml xslt hyperlink xlink

我正在尝试在我的XML文件中创建一个可点击的URL。下面是我的XML和XSL文件,它们可以很好地协同工作。

我尝试在XML文件中使用XLink和href,但它没有用。

如何在XML文件中点击我的网址?

XML

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="file.xsl" ?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="1.xsl" ?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Johnny</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<url>http://www.yahoo.com</url>
</cd>
</catalog>

XSL

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>XSL</h2>
<table border="1">
<tr bgcolor="#9acd32">
  <th style="text-align:left">Title</th>
  <th style="text-align:left">Artist</th>
  <th style="text-align:left">Country</th>
  <th style="text-align:left">Company</th>
  <th style="text-align:left">Price</th>
  <th style="text-align:left">URL</th>

</tr>
<xsl:for-each select="catalog/cd">
<tr>
  <td><xsl:value-of select="title"/></td>
  <td><xsl:value-of select="artist"/></td>
  <td><xsl:value-of select="country"/></td>
  <td><xsl:value-of select="company"/></td>
  <td><xsl:value-of select="price"/></td>
  <td><xsl:value-of select="url"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

1 个答案:

答案 0 :(得分:2)

在编写任何XSLT之前,您应该真正了解所需的输出。要在HTML中创建可点击的链接,您可以执行此操作...

<a href="http://www.yahoo.com">http://www.yahoo.com</a>

所以,在你的XSLT中,而不是这样做....

 <td><xsl:value-of select="url"/></td>

这样做......

<td>
    <a href="{url}">
       <xsl:value-of select="url"/>
    </a>
</td>

请注意href属性中使用花括号。这称为属性值模板。花括号表示要表达的表达式,而不是按字面意思输出。