XSLT 2.0副本 - 将数据添加为属性?

时间:2014-05-17 01:21:20

标签: xslt xslt-2.0

我正在创建一个表,其中一个条目在XSLT 2.0中类似于以下内容:

<td class="brand">
  <a href="{basic/@brand}" title="View {basic/@brand_name} information">
    <xsl:copy-of select="basic/@brand_name"/>
  </a>
</td>

对我来说似乎是正确的......但是生成的HTML看起来像这样:

<td class="brand">
  <a href="path-to-brand/brand/123" brand_name="Coca-Cola" title="View Coca-Cola information"></a>
</td>

正如我们所看到的,品牌名称作为属性添加了属性值,就像在标题中一样。

我期待的是:

<td class="brand">
  <a href="path-to-brand/brand/123" title="View Coca-Cola information">Coca-Cola</a>
</td>

有什么我做错了或Qt是假的吗?

2 个答案:

答案 0 :(得分:2)

copy-of复制整个属性,因为它仍然可以将它附加到元素。因为你只想写出你应该使用的值

<xsl:value-of select="basic/@brand_name"/>

答案 1 :(得分:1)

混合copy-of将整个节点集复制到结果树中,value-of复制节点的字符串值。如果你替换它将会起作用:

<xsl:copy-of select="basic/@brand_name"/>

<xsl:value-of select="basic/@brand_name"/>