0

少し問題があります。私はかなり前に実稼働システム用の API を作成しましたが、これは Apache XML Beans を使用していました。スキーマは同種 (つまり、インポートがなく、すべてが同じスキーマ内からのもの) であり、API 処理のコードが非常に冗長であったとしても、すべてが正常に機能しました。それ以来、古い API の一部、つまり異なるスキーマを念頭に置いて、JAXB を使用してはるかにシンプルでエレガントな RESTful API を作成しましたが、一部の要素は同じです。古い 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

誰もこれに遭遇したことがありますか?解決策やアイデアはありますか? 本当にありがたいです。よろしくお願いします。

4

2 に答える 2

0

ドキュメント内の名前空間はまだ古いもののようです。スキーマとドキュメントなしではわかりにくい。

于 2008-11-12T18:15:58.760 に答える
0

ご回答ありがとうございます。ドキュメントのルートと「冗長要素」自体の両方に、多数の順列で新しい名前空間を明示的に追加しようとしました。いいえ:

<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>

...そして、デフォルトの名前空間などとの多数の組み合わせも試しましたが、どれも機能しませんでした。

于 2008-11-12T19:55:54.143 に答える