2

XMLインスタンス要素の有効な子である要素、属性である可能性がある要素などの基本的な質問に答えるために、車輪の再発明を避けながらRNGスキーマをクエリする方法を見つけようとしています。

ここの投稿は、すでにJingでRNG検証を行っているため、Jing / Trangでこれを行うことへの期待を高めましたが、検索した後、主張を確認するソースコードの例は見つかりませんでした。APIドキュメントを参照しても役に立ちませんでした。多く(これもJingにバンドルされている唯一のドキュメントのようです)。

これらのクエリを実行するためにスキーマを自分のオブジェクトモデルに解析することは本当に避けたいと思います。また、Jingもどこかでそれを実行している必要があることを知っているので、それはちょっと冗長に思えます。問題は、そこから必要な情報をどのように入手するかです。

JavaコードからRNGスキーマをクエリするために使用できる別のライブラリはありますか?スキーマを使用してインスタンスファイルを検証しようとしているのではなく、スキーマ自体をクエリしようとしていることに注意してください。

4

1 に答える 1

1

この質問に対する答えは、RNGOMを使用することです。Jingをベースにしたオブジェクトモデル構築APIです。Jingは公開していないため、このユースケースでホイールの完全な再発明を回避する唯一の方法は内部モデルのようです。このモデルを参照して実際のクエリを実行する独自のコードを作成する必要があります(私が今やろうとしているように)。

RNGOMの利用方法を学ぶことは、ここで見られるように簡単ではありませんが、プロジェクトのコードリポジトリは物事を簡単にするはずです(使用例が含まれています)。

残念ながら、RNGスキーマをクエリできる(または少なくともそれを行う手間を軽減できる)ライブラリは他に見つかりませんでした。

編集1

最終的に、独自のrngオブジェクトモデルとそれを生成するパーサーを作成しました。これは、私の特定のユースケースに対処することを目的としており、質問に投稿したようなクエリを実行できるようにします。他の回答は提供されなかったので、(もしあれば)より良い回答が投稿されるまで、私は自分自身を受け入れます。

于 2012-03-09T11:15:58.287 に答える