提供されているRELAXNGスキーマに対してXMLファイルを検証したいと考えています。ネットを検索すると、適切なスキーマ言語を提供することによって、SchemaFactoryを使用してSchemaインスタンスを作成するヒントが得られました。だから私の必要条件ごとに私は使用した:XML検証
SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);
が、次の例外が実行時にスローされました:スレッド「メイン」java.lang.IllegalArgumentExceptionがで
例外:で指定されたスキーマ言語を実装していませんするSchemaFactory:http://relaxng.org/ns/structure/1.0はjavaxので
をロードすることができました。 xml.validation.SchemaFactory.newInstance(SchemaFactory.java:207)
私はJava6を使用しており、 'W3C_XML_SCHEMA_NS_URI'のみが動作することを確認しました。すべてのスキーマURIを休止すると、同様の例外がスローされます。
私はXML検証APIの使用についてかなり新しいです。私はそれを正しくやっていない場合に備えて、誰かが私に適切な使用法を教えてもらえますか?
おかげ&よろしく、
芥屋
こんにちは、 お返事ありがとうございます。私はTrangにxngをxsdに変換するように提案しました。しかし、私はそれを実行するエラーを取得します。次のコマンドはエラーがあります: $ java -jar trang.jar -I rng -O xsd config_schema.rng config_schema.xsd xml-validation/trang-20081028/config_schema.rng:1:1:fatal:内容は次のとおりですプロローグでは許可されません。 $ 上記のエラーに関する提案をいただけますか? –
ファイルの開始とスキーマ定義の開始の間に空白やコメントがないことを確認してください。 – skaffman
ありがとうございます。空白とは別に.rncの代わりに.rng拡張子も使用していました。適切な拡張機能を使用すると、RNGスキーマがXSDに変換されました。 –