如果兄弟是唯一的,则查找节点

时间:2015-10-06 13:04:56

标签: xml xpath dtd

我有这样的DTD专线:

<!ELEMENT performance (composition, (soloist)?,(orchestra, conductor)?)>

我想找到只有一个独奏家的作品。

我想到了这样的事情:

/performance/compositions[count(../soloist)=1]

这是对的吗? 是否可以在谓词中使用AND运算符? (如果我不想要独奏家和一个管弦乐队,例如)

1 个答案:

答案 0 :(得分:1)

由于performance的声明只允许零或一soloist和零或一orchestra,因此无需计算出现次数。

要返回composition的{​​{1}}:

soloist

要返回没有 /performance[soloist]/composition 并且拥有composition的{​​{1}}:

soloist