如何使用XSLT动态获取行的值属性值

时间:2009-09-18 10:42:10

标签: xml xslt

我必须使用XSLT和CSS创建一个表。该表应该看起来像

                ID    FNAME
                 1    AA
                 2    BB

XML:

<students>
    <studentDetails  id="1" fname="AA"/>
    <studentDetails  id="2" fname="BB"/>
</students>
到目前为止

XSLT: 我已遍历studentDetails然后

<td >
      <xsl:call-template name="zz">
      <xsl:with-param name="child-name" select="'id'"/>
      </xsl:call-template>
    </td>
     <xsl:template name="zz">
<xsl:param name="child-name"/>

<xsl:value-of select="*[name(@id) = $child-name]"/>//should print 1 and then 2 in next row

有人可以建议我哪里出错吗?

2 个答案:

答案 0 :(得分:5)

首先不要传递“'id'”只使用“id” 在second = pattern *选择节点,但是你需要attr(@ *),所以你需要写:

<xsl:value-of select="@*[name()=$child-name]"/>

答案 1 :(得分:2)

<xsl:value-of select="attribute::*[name() = $child-name]"/>

代替。

编辑:我刚读完了Dewfy的回答。这相当于他提出的建议。除了他的“起初”部分之外的替代,除了更改xsl:value-of之外,你不得