Импорт и использование внешней схемы с использованием XML Beans

StackOverflow https://stackoverflow.com/questions/282061

Вопрос

У меня есть небольшая проблема. Я давно написал API для нашей производственной системы, и он использовал Apache XML Beans. Схема была однородной (т.е. без импорта, все было внутри одной и той же схемы), и все работало просто отлично, даже если код для обработки API был невероятно многословным. С тех пор я написал гораздо более простой и элегантный API для отдыха с использованием JAXB, имея в виду части старого, то есть другую схему, но некоторые элементы идентичны. В надежде очистить и упростить мой код привязки в старом 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

Кто-нибудь сталкивался с этим раньше? Есть какие-либо решения или идеи? Я действительно ценю это. Спасибо, любезно.

Это было полезно?

Решение 2

Спасибо за ваш ответ. Я попытался явно добавить новое пространство имен, как в корне документа, так и в самом «избыточном элементе», в многочисленных перестановках. 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>

... и я также пробовал многочисленные комбинации с пространствами имен по умолчанию и т. д., но ни одна из них не сработала.

Другие советы

Похоже, что пространство имен в документе все еще старое. Трудно сказать без схем и документов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top