如何使用 xslt 打印 href?

How to print the href with xslt?

我是 xml/html 的初学者。我正在尝试使用 xslt 解决从 xml 到 html 的一点转换。 我有这个 xml:

<?xml version="1.0" encoding="UTF-8"?>
<teams>
  <team cod="a101">
    <web>https://web1.com</web></team>
  <team cod="a102">
    <web>https://web2.com</web></team>
  <team cod="a103">
    <web>https://web3.com</web></team>
  <team cod="a104">
   <web>https://web4.com</web></team>
</teams>

我正在尝试使用 xslt 获得此 html 结果:

   Cod    Web
   a101  Show more
   a102  Show more
   a103  Show more
   a104  Show more

其中每个“显示更多”链接到每个网站。

我试过这个:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
        <xsl:template match="/"> 
            <xsl:apply-templates select="team"/>
            <html>
                <head>
                    <title>teams</title>                          
                    <meta charset="UTF-8"/>
                </head>
                <body>
                    <table>
                        <tr>
                            <td>Cod</td>
                            <td>Web</td>
                        </tr>                         
                            <xsl:for-each select="teams/team">
                        <tr>      
                       <td><xsl:value-of select="@cod"/></td>
                       <td><a href="I_don't_know_how_to_code_this">Show more</a></td>
                        </tr>   
                            </xsl:for-each>                     
                    </table>
                </body>
            </html>
        </xsl:template>                  
</xsl:stylesheet>

有人能帮帮我吗?

最简单的方法是使用 attribute value template:

<td><a href="{web}">Show more</a></td>
                   

您也可以使用 xsl:attribute,但 AVT 更简单且读起来更好

<td><a><xsl:attribute name="href" select="web"/>Show more</a></td>