xquery:如何检查元素列表的存在?

时间:2012-09-21 09:13:34

标签: xquery

有没有办法检查xml文档中是否存在元素列表?元素名称按顺序存储,如果xml文档包含任何元素(按顺序存储的名称),则返回YES,否则返回NO。我试过下面的例子它没有用。请给我一个暗示吗?

<book category="COOKING">
   <title lang="en">Everyday Italian</title>
   <author>Giada De Laurentiis</author>
   <year>2005</year>
   <price>30.00</price>
 </book>   

让$ doc:= doc(“book.xml”)/ book     让$ fields:=('title','author')

return 
    if(doc/*:$fields)   
    then 
    "YES"
    else "NO"

2 个答案:

答案 0 :(得分:0)

试试这个

return 
    if($fields[not(.=$doc/*/name())]
    then 
    "No"
    else "YES"

答案 1 :(得分:0)

使用

if(/*/*/name() = ('title', 'author'))
  then 'YES'
  else 'NO'

或者

('YES'[$doc/*/*/name() = $fields], 'NO')[1]