質問

2つのXMLスキーマがあります。初め (A.xsd)ライブラリジャーファイルにあります(mylib.jar)そして2番目のもの(B.xsd)私のプロジェクトにあります。

インポートしたいです A.xsdB.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カタログ 瓶からスキーマをロードします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top