Importar e usar esquema externo usando Beans XML
-
08-07-2019 - |
Pergunta
Eu tenho um pouco de um problema. Eu escrevi um API há muito tempo para o nosso sistema de produção, e que costumava Beans XML Apache. O esquema foi homogênea (ou seja, sem importações, tudo estava dentro do mesmo esquema), e tudo funcionou muito bem, mesmo se o código para manipulação API foi incrivelmente detalhado. Eu já escrevi uma API RESTful muito mais simples e mais elegante usando JAXB, com partes do antigo em mente, ou seja, esquema diferente, mas alguns dos elementos são idênticos. Na esperança de limpeza e simplificando o meu código de ligação na antiga API, troquei algumas das partes por excluí-los e importar o novo esquema e usar esses elementos em seu lugar. No entanto, sempre que tento documentos de análise que utilizam a nova mistura de esquema, eu recebo um erro de validação dos feijões XML:
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
Alguém encontrou isso antes? Temos soluções ou idéias? Eu realmente aprecio isso. Muito obrigado.
Solução 2
Muito obrigado pela sua resposta. Eu tentei adicionar explicitamente o novo espaço de nomes, tanto na raiz do documento e em 'redundante-elemento' em si, em numerosas permutações. IE:
<oldxmlns:root xmlns:oldxmlns="abc" xmnls:newxmlns="xyz">
.....
</oldxmlns:root>
.. e ...
<oldxmlns:root xmlns:oldxmlns="abc">
<oldxmlns:nested-element>
.....
<newxmlns:redundant-element xmnls:newxmlns="xyz">
.....
</newxmlns:redundant-element>
.....
</oldxmlns:nested-element>
</oldxmlns:root>
... e eu também tentei inúmeras combinações com namespaces padrão, etc, e nenhum deles funcionou.
Outras dicas
Parece que o namespace no documento ainda é o antigo. Difícil dizer sem os esquemas e documentos.