在 xquery 中使用 deep-equal 选择所有节点

All nodes getting selected with deep-equal in xquery

我想找到所有没有选集和艺术风格的电影。 为此,我使用以下查询

for $movie in db:open("movies","movies.xml")/movies/movie
where not(deep-equal(($movie/styles/style),("anthology","art")))
return $movie

但是,所有节点都被选中而不是过滤它们。 出了什么问题?

你的查询没有多大意义,deep-equal 在这里根本没有用。以下将return所有风格不等于选集或艺术的电影:

db:open("movies", "movies.xml")/movies/movie[not(styles/style = ("anthology", "art"))]