1

提供された RELAXNG スキーマに対して XML ファイルを検証したいと考えています。ネットで検索すると、適切なスキーマ言語を提供することで、SchemaFactory を使用してスキーマ インスタンスを作成するヒントが得られました。したがって、私の要件に従って、次を使用しました:

SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);

ただし、実行時に次の例外がスローされました。

スレッド「メイン」での例外 java.lang.IllegalArgumentException: No SchemaFactory that implements the schema language specified by: http://relaxng.org/ns/structure/1.0 can be loaded
at javax.xml.validation.SchemaFactory.newInstance(SchemaFactory) .java:207)

私は Java6 を使用していますが、「W3C_XML_SCHEMA_NS_URI」のみが機能することがわかりました。残りのすべてのスキーマ URI は、同様の例外をスローします。

私は XML 検証 API を使用するのにかなり慣れていません。私が正しく行っていない場合に備えて、誰かが私に適切な使用法を提供してもらえますか?

ありがとう、
ケヤ

4

5 に答える 5

2

RNG は Java API で十分にサポートされておらず、実際に牽引されることはありませんでした。それを処理する Java API 実装を私は知りません。( Trangなどを使用して) スキーマを XML スキーマに変換し、それに対して検証することをお勧めします。

于 2009-07-22T07:50:15.613 に答える
0

Kohsuke Kawaguchi は、relaxng バリデーターを使用するために jaxp 用のアダプター ライブラリーを作成したようです。ここここを参照してください。

于 2009-07-22T11:34:30.573 に答える
0

msvは Java です。使用できる明確な API があると思いますが、コマンドラインとスクリプトでしか使用したことがありません。

于 2009-07-22T08:14:11.587 に答える
0

Java 6 を使用して、XML ベースの RelaxNG スキーマに対してドキュメントを検証することに成功しました。以下をご覧ください。

RELAX NG スキーマと JAXP を使用して XML ドキュメントを検証する方法は?

関連性があるかどうかはわかりませんが、指摘するだけです:-)。

于 2010-03-31T22:39:25.280 に答える