xqueryで次のコードを使用してノードのすべての属性を取得しようとしています。論理的には機能するはずですが、機能しません。
$nodesの$nの場合、$ n /@*を返します
xqueryで次のコードを使用してノードのすべての属性を取得しようとしています。論理的には機能するはずですが、機能しません。
$nodesの$nの場合、$ n /@*を返します
属性ノードは要素ノードの属性である必要があり、結果ツリーにスタンドアロンの属性ノードを含めることはできません。
各属性の名前-値のシーケンスを生成する場合は、次のようにします。
for $attr in $nodes/@*
return
(name($attr), string($attr), '
')
たとえば、次のXMLドキュメントがあるとします。
<t topA="1">
<a x="2" z="3">
<b message="Hello"/>
</a>
<c y="5"/>
</t>
そして、このクエリをそれに適用します:
for $nodes in //*,
$attr in $nodes/@*
return
(name($attr), string($attr), '
')
結果は:
topA 1
x 2
z 3
message Hello
y 5