我有一个从 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。
任何帮助将不胜感激。
多谢!