0

我有一点问题。我很久以前为我们的生产系统编写了一个 API,它使用了 Apache XML Beans。模式是同质的(即没有导入,所有内容都来自同一个模式),并且一切正常,即使 API 处理的代码非常冗长。从那以后,我使用 JAXB 编写了一个更简单、更优雅的 restful API,考虑到旧 API 的部分内容,即不同的模式,但一些元素是相同的。为了清理和简化我在旧 API 中的绑定代码,我通过删除它们并导入新模式并改用这些元素来替换一些部分。但是,每当我尝试解析使用新模式混合的文档时,都会从 XML Beans 收到验证错误:

error: cvc-complex-type.2.4a: Expected element 'redundant-element@http://www.my.com/old/xmlns' instead of 'redundant-element@http://www.my.com/new/xmlns' here in element redundant-element-list@http://www.my.com/old/xmlns

有没有人遇到过这个?有什么解决方案或想法吗?我真的很感激。非常感谢你。

4

2 回答 2

0

看起来文档中的命名空间仍然是旧的。没有架构和文档很难说。

于 2008-11-12T18:15:58.760 回答
0

感谢您的回复。我已经尝试在文档的根目录和“冗余元素”本身上以多种排列方式显式添加新的命名空间。IE:

<oldxmlns:root xmlns:oldxmlns="abc" xmnls:newxmlns="xyz">
      .....
</oldxmlns:root>

.. 和 ...

<oldxmlns:root xmlns:oldxmlns="abc">
   <oldxmlns:nested-element>
         .....
      <newxmlns:redundant-element xmnls:newxmlns="xyz">
           .....
      </newxmlns:redundant-element>
         .....
   </oldxmlns:nested-element>
</oldxmlns:root>

...而且我还尝试了许多与默认命名空间等的组合,但都没有奏效。

于 2008-11-12T19:55:54.143 回答