XSLT select元素有两个不同的键

时间:2013-10-26 11:26:36

标签: xml xslt xpath

我正在尝试使用以下结构获取元素:

<?xml version="1.0" encoding="UTF-8"?>
<pays>
    <pay id="23">
        <accounts>
            <account id="2">
                <name>Jonh</name>
            </account>
            <account id="3">
                <name>Mary</name>
            </account>
        </accounts>
    </pay>
</pays>

我希望获得“pay”和“account”元素的关键字。

我试着这样做:

<xsl:key name="id_account" match="account" use="concat(@id,@id)"/>

但这种错误并不知道要解决这种情况。

1 个答案:

答案 0 :(得分:1)

您可以像这样设置密钥:

<xsl:key name="id_account" match="account" use="concat(../../@id, '+', @id)"/>

然后使用付款ID和帐户ID选择account元素,您可以执行以下操作:

key('id_account', concat($payId, '+', $accountId))

(虽然payIdaccountId不一定需要存储在变量中)