0

我需要创建一个包含在带有 xml 和 xslt 的锚标记中的图像,该图像将显示在 iframe 中

我的 XML 看起来像

<cars>
  <car>
    <name>Ferrari</name>
    <image>http://www.bestdrives.org/ferrari-cars/ferrari-fiorano.jpg</image>
    <link>http://www.ferrari.com/English/Pages/home.aspx</link>
  </car>
</cars>

我需要将名称和图像包装在锚标记中

我的 xslt 看起来像

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
  <body>
    <xsl:for-each select="cars/car">
      <xsl:template match="car">
        <xsl:attribute name="href" select="link"/>
        <xsl:value-of select="name"/>
        <img>
  </html>              <xsl:attribute name="src" select="image"/>
        </img>
      </xsl:template>
    </xsl:for-each>
  </body>
4

2 回答 2

0

您提供的 XSLT 不是格式良好的 XML(由于某种原因,结束</html>标记已在元素内结束,并且声明必须是文件中的第一件事,前面没有前导空格)。它也不是有效的 XSLT - 您不能将 a放在 a中,也不能在 XSLT 1.0 中使用on (尽管您可以在 XSLT 2.0 中使用)。这个怎么样:<img><?xmltemplatefor-eachselect<xsl:attribute>

<?xml version="1.0" encoding="ISO-8859-1"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
  <body>
    <xsl:for-each select="cars/car">
      <a href="{link}">
        <xsl:value-of select="name"/>
        <img src="{image}" />
      </a>
    </xsl:for-each>
  </body>
</html>

href="{link}"符号称为属性值模板,它是<xsl:attribute name="href"><xsl:value-of select="link" /></xsl:attribute>

于 2013-07-09T11:56:02.810 回答
0

像这样的东西?xslt:

    <xsl:template match="car">
        <a>
            <xsl:attribute name="href" select="link"/>
            <xsl:value-of select="name"/>
            <img>
                <xsl:attribute name="src" select="image"/>
            </img>
        </a>
    </xsl:template>
于 2013-07-09T11:24:39.247 回答