2008-11-11 23 views
0

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

error: cvc-complex-type.2.4a: Expected element '[email protected]://www.my.com/old/xmlns' instead of '[email protected]://www.my.com/new/xmlns' here in element [email protected]://www.my.com/old/xmlns 

有没有人遇到过吗?有任何解决方案或想法?我真的很感激它。非常感谢你。

+0

你可以粘贴一些XSD,这样我们可以忽略malformed-xsd问题吗? – 2008-11-11 20:39:38

回答

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> 

...我也尝试多种组合使用默认命名空间,等等,并没有工作过。

0

它看起来像文档中的命名空间仍然是旧的。很难说没有模式和文件。