Xpath / XSLT:如何选择名称不为子元素的元素的属性...?

时间:2019-06-17 10:48:46

标签: xml xslt xpath xslt-2.0 xpath-2.0

我要基于元素没有名称传入的子元素来选择元素的属性ID。我有4个不同的元素-有或没有特定的孩子。我有以下代码:

<ownedBehavior xmi:type="uml:Activity" xmi:id="EAID_1" name="Activity1">
    <outgoing xmi:idref="Connectorid_5"/>
</ownedBehavior>
<ownedBehavior xmi:type="uml:Activity" xmi:id="EAID_2" name="Activity2">
    <incoming xmi:idref="Connectorid_6"/>
</ownedBehavior>
<ownedBehavior xmi:type="uml:Activity" xmi:id="EAID_3" name="Activity3"/>
<ownedBehavior xmi:type="uml:Activity" xmi:id="EAID_4" name="Activity4">
    <incoming xmi:idref="Connectorid_7"/>
    <outgoing xmi:idref="Connectorid_8"/>
</ownedBehavior>

我想选择名称为Activity2的元素ownerBehavior。我当时想我要选择没有子项传入但有子项传出的元素ID(用于正确选择)。

请问您能否通过xpath / xslt帮助mw?选择的外观如何?可以一次选择(一行)吗?

我只想拥有EAID_1

1 个答案:

答案 0 :(得分:2)

您可以使用

//ownedBehavior[outgoing and not(incoming)]/@xmi:id