1

拡張可能にしたい次の XML 形式があります。ルート タグ「A」には、さまざまなタイプ (xs:string または自己定義) のオプションおよび必須フィールド (Ax) がいくつかあり、これらは任意の順序で発生する可能性があります。以下のスキーマは私にとってはうまくいきます:

<xs:element name="A">
  <xs:complexType>
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="A1" minOccurs="1" maxOccurs="1"/>
        <xs:element name="A2" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- AND MANY MORE -->
      </xs:choice>
    </xs:sequence>
  </xs:complexType>
</xs:element>

ここで、この XML の新しいバージョンが引き続きスキーマに対して検証されることを確認したいと思います。新しいというのは、つまり、XML スキーマに認識されていないタグが増えるということです。これらの新しいタグは、古いタグと同様に、XML ファイル内で任意の順序で出現できます。追加してみました

<xs:any />

スキーマのさまざまな場所(選択ブロックとシーケンスブロックの下部)にありますが、常にスキーマ無効エラーが発生します。これによりスキーマがあいまいになる理由は理解していますが、問題を解決する方法がわかりません (おそらく、「新しいタグは一番下にしか配置できない」などの追加の制限があるため)。

4

0 に答える 0