0

SAX APIはどのようにスキーマ/DTDに対してXMLを検証しますか?

私の理解では、SAX APIはXMLドキュメントチャックをチャンクごとに読み取り、以前に読み取ったチャンクをメモリに保存しません。そのため、APIがすべてをメモリに保持せずにドキュメントを検証する方法がわかりません。??

4

1 に答える 1

1

検証するためにXMLツリー全体をメモリに保持する必要はありません。現時点で検証されているパーツだけをメモリに保存する必要があります。たとえば、root / child * / property *のような構造を確認する必要がある場合、実際には子と親の関係のみをチェックする必要があるため、前の要素のみを保存して確認する必要があります。もちろん、構造がより複雑な場合は、複雑な制約を検証するためにより多くのメモリが使用されます。

于 2009-10-10T19:12:03.823 に答える