Frage

Ich habe ein bisschen ein Problem. Ich schrieb eine API vor langer Zeit für unser Produktionssystem, und es verwendet Apache XML Beans. Das Schema war homogen (dh keine Importe, alles war aus dem gleichen Schema), und alles funktionierte gut, auch wenn der Code für API Handhabung unglaublich ausführlichen war. Ich habe ein viel einfacheres und elegantere RESTful API mit JAXB, mit Teilen des alt man sich vor Augen, also anderes Schema da geschrieben, aber einige der Elemente sind identisch. In der Hoffnung, für die Säuberung und Vereinfachung meine Bindung Code in der alten API, habe ich von ihnen einige der Teile ersetzt und den Import der neuen Schema zu löschen und diese Elemente stattdessen verwenden. Jedes Mal, wenn ich versuche, Dokumente zu analysieren, die die neue Mischung aus Schema verwenden, erhalte ich einen Fehler bei der Überprüfung von 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

Hat sich das jemand zuvor begegnet? Haben Sie alle möglichen Lösungen oder Ideen? Ich würde es wirklich schätzen. Ich danke Ihnen herzlich.

War es hilfreich?

Lösung 2

Danke nett für Ihre Antwort. Ich habe versucht, das Hinzufügen explizit den neuen Namensraum, sowohl auf der Wurzel des Dokuments und auf ‚redundanten Elementen‘ selbst in zahlreichen Permutationen. IE:

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

.. und ...

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

... und ich habe auch zahlreiche Kombinationen mit Standardnamensraum, usw. und keine gearbeitet hat versucht.

Andere Tipps

Es sieht aus wie der Namespace in dem Dokument noch die alten. Schwer zu sagen, ohne dass die Schemata und Dokumente.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top