如何在xPath中检查IDREFS长度

时间:2013-06-07 08:54:19

标签: xml xpath xquery

我有下一个DTD定义

    <!ELEMENT testNode EMPTY>
    <!ATTLIST testNode
          listOfNodes IDREFS #REQUIRED
          bestNode IDREF #REQUIRED
    >

当我得到/testNode/@listOfNodes时,我必须检查 listOfNodes 中是否有多个引用。我怎样才能做到这一点 ?

1 个答案:

答案 0 :(得分:1)

如果属性listOfNodes中有多个IDREF线索,则必须按照DTD规则用空格分隔。因此,您可以按照此示例检查多个值:

let $x := <testNode listOfNodes="d1 d2"/>
return
  if(contains($x/@listOfNodes, ' '))
  then "Yes"
  else "No"

对于多个值,它将返回“是”,否则返回“否”