0

次のような状況があり
ます-XMLドキュメント(DocumentImpl)をオンザフライで(データを使用して)作成します。したがって、XML がディスクに書き込まれることはありません。
- XSD スキーマをその場で (データ定義を使用して) 作成します。これらもディスクに書き込まれることはありません。文法はアサーションで複雑なので、XMLSchema v1.1 として使用する必要があります
。XSD スキーマからの文法 (SchemaGrammar) をハッシュマップに格納します。これは、同じ文法がより多く使用されることが多いためです。

今、私の質問は、

文法に対してドキュメントを検証したい。私はどの文法を使うべきかを知っています。これらは、対応する data-definition-name によって検出されます。

私の問題は、オブジェクトの準備ができている間、すべての例がストリームまたはファイルから機能するように見えるため、これを行う方法のサンプルコードを見つけることができないことです。

4

1 に答える 1

1

私は、それは次のように機能すると思います:

`

XMLGrammarPoolImpl pool = new XMLGrammarPoolImpl();
pool.putGrammar(grammar);

XMLSchema11Factory factory = new XMLSchema11Factory();
Schema schema = factory.newSchema(pool);

Validator validator = schema.newValidator();

DOMSource source = new DOMSource(document);
validator.validate(source);

`

于 2013-03-14T10:54:55.307 に答える