xsd を使用して、xml を検証しようとしています。
xml は、オブジェクトの作成に使用されます。リスト内の要素によって作成できるオブジェクトには、SC と SMSC の 2 種類があります。SMSC は SC であり、それを拡張したものです。
SMSC には新しいプロパティは含まれていません。xml の観点からは、SMSC は、そのプロパティを定義する要素が<SMSC>
タグではなくタグでラップされていることを除いて、あらゆる点で SC と同じです<SC>
。
XSD は次のようになります。
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name='Definitions'>
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="SC">
<!--SNIP properties of SC and SMSC -->
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
SMSC 要素内のすべてのプロパティ定義を複製する以外に、要素として SC または SMSC を許可するようにこれを変更する方法はありますか? ドキュメントの長さを 2 倍にして、すべてのプロパティ定義を複製する必要はありません。
現状では、XML で唯一の検証エラーは、SMSC 要素がある場所です。すべてのプロパティ定義を複製せずにこれを修正する方法がない場合は、そのままにしておきますが、実用的であれば、これがスローする警告を削除することを明らかに望んでいます。