XMLスキーマリファレンス
-
09-10-2019 - |
質問
2つのXMLスキーマがあります。初め (A.xsd
)ライブラリジャーファイルにあります(mylib.jar
)そして2番目のもの(B.xsd
)私のプロジェクトにあります。
インポートしたいです A.xsd
に B.xsd
入ってくるXMLを介して検証します Jaxb2Marshaller
埋め込まれたバリデーター。
しかし、私はそれを適切に機能させることができません:それは Jaxb2Marshaller
jar-filesのファイルへの参照を理解していません(私はただのようなものを書きたいだけです <xs:import namespace="http://my/schema.xsd" schemaLocation="classpath:schema.xsd">
).
どのように修正できますか?ライブラリスキーマはプロジェクトスキーマからどのように参照できますか?
解決
この問題を解決するためにResourceSolverを使用する方法についての以前の質問に対する私の答えをご覧ください。
Lsresourceresolverの実装は、クラスパスからスキーマの読み込みを処理し、適切な結果に変換します。
他のヒント
独自のリゾルバーを構成する必要があります。 JaxbではClassPathを使用するものはありません。
この種のことを示すJAXBサンプルがあります。
ClassPath:スキーマの場所の有効なURLではありません。使用する必要があります XMLカタログ 瓶からスキーマをロードします。
所属していません StackOverflow