私は構造を持つ「補助データ」を持つ多くのノードがあるxmlファイルを扱っています:
<something>
<ID>...</ID>
<Description>...</Description>
</something>
それぞれの「何か」について、値のいくつかのグループのみが有効です。
たとえば、これらの「何か」のいずれかが である場合<sex>
、次の 2 つの値のみが有効になります。
<sex>
<ID>00</ID>
<Description>male</Description>
<sex>
<sex>
<ID>01</ID>
<Description>female</Description>
<sex>
<state>
次の 3 つの値だけであれば問題ありません。
<state>
<ID>100</ID>
<Description>downloaded</Description>
</state>
<state>
<ID>110</ID>
<Description>printed</Description>
</state>
<state>
<ID>120</ID>
<Description>erased</Description>
</state>
<aux_dataType>
XML スキーマ検証を使用して、無効な値を持つファイルを拒否したいのですが、ルートを設定し、継承された<sexType>
orの値を制限し<stateType>
、グループを使用するなど、試したことはすべて失敗しました。
アプリ レベルで検証する以外に、この問題に対処する方法を考えられますか?