RELAX NG を用いて妥当性検証を行うには、幾つかのライブラリを CLASSPATH に含める必要がありました。 必要なのは msv (multi schema validator) とその関連ライブラリ
- msv
- isorelax
- relaxngDatatype
- xsdlib
それに加えて、msv と javax.xml.validation パッケージをブリッジするライブラリ
- isorelax-jaxp-bridge
でした。
今回は、Maven2 上でこれのライブラリを依存性に含める方法(POM ファイルの設定)を見ていきます。
ISO RELAX の実装を依存性に含める
msv 関連のライブラリは1つのグループ msv で作成されています。 最新のもののバージョンは 20050913 です。 これらを依存性に含めるには、<dependencies> 要素に以下のように依存性を付加します:
<dependencies> <dependency> <groupId>msv</groupId> <artifactId>msv</artifactId> <version>20050913</version> </dependency> <dependency> <groupId>msv</groupId> <artifactId>isorelax</artifactId> <version>20050913</version> </dependency> <dependency> <groupId>msv</groupId> <artifactId>relaxngDatatype</artifactId> <version>20050913</version> </dependency> <dependency> <groupId>msv</groupId> <artifactId>xsdlib</artifactId> <version>20050913</version> </dependency> </dependencies>
javax.xml.validation パッケージに対するブリッジ・ライブラリを依存性に含める
次に、isorelax-jaxp-bridge ライブラリを依存性に含めます。 ただし、これは Maven2 のデフォルトのリモート・リポジトリには存在せず、http://download.java.net/maven/1 で公開されています。 したがって、新たに <repository> の設定が必要となります:
<project> <dependencies> <!-- isorelax への依存性 --> <dependency> <groupId>org.iso_relax.verifier.jaxp.validation</groupId> <artifactId>isorelax-jaxp-bridge</artifactId> <version>1.0</version> </dependency> </dependencies> <repositories> <repository> <id>java.net</id> <url>http://download.java.net/maven/1</url> <layout>legacy</layout> </repository> </repositories> </project>
これで完了。