Xquery order by——基于特定属性值的orderby

Xquery order by- orderby based on particular attribute value

XML

<dog>
  <cat key="x" value="123"/>
  <cat key="y" value="456"/>
  <cat key="z" value="789"/>
</dog>
<dog>
  <cat key="x" value="321"/>
  <cat key="y" value="654"/>
  <cat key="z" value="987"/>     
</dog>
<dog>
  <cat key="x" value="231"/>
  <cat key="y" value="465"/>
  <cat key="z" value="798"/>     
</dog>

我想根据属性“value”的值按此 xml 进行排序,其中属性 key ="x"。 用xquery怎么实现。

您可以访问 'value',其中属性 'key'"x" 通过使用 XPath Predicates.
例如,

for $x in //dog
order by $x/cat[@key="x"]/@value
return $x