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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top