a.xml から b.xml に変換する xquery ファイルがあります。以下は私のxクエリの例です:
<TestMessage>
<Header>
<MessageType>
{for $x in doc("input.xml")//Test/NewHeader return
if ($x/MessageType/text() = "FIRST") then "FirstMessageType"
else "SecondMessageType"
}
</MessageType>
</Header>
</TestMessage>
これは正常に機能し、MessageType が適切に設定されます。ただし、名前空間を属性として TestMessage 要素に追加する必要があります。だから、私がそうするとき、
<TestMessage xmlns="http://www.testsource.com/TestMessage">
<Header>
<MessageType>
{for $x in doc("input.xml")//Test/NewHeader return
if ($x/MessageType/text() = "FIRST") then "FirstMessageType"
else "SecondMessageType"
}
</MessageType>
</Header>
</TestMessage>
xquery の結果には空の MessageType 要素があります。x-query ドキュメントに名前空間を追加する以外は何も変更していません。しかし、これが間違った結果のxmlを与える理由がわかりません。
どんな助けでも大歓迎です。
どうもありがとう!