考虑以下 xml:
<Awesome xs:type="AB">
<a />
<b />
</Awesome>
<Awesome xs:type="CD">
<f />
<c />
<e />
<d />
</Awesome>
这可以用这个模式指定:
<xs:complexType name="base" abstract="true" />
<xs:complexType name="AB">
<xs:complexContent>
<xs:extension base="base">
<xs:all>
<xs:element name="a" />
<xs:element name="b" />
</xs:all>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="CD">
<xs:complexContent>
<xs:extension base="base">
<xs:all>
<xs:element name="c" />
<xs:element name="d" />
<xs:element name="e" />
<xs:element name="f" />
</xs:all>
</xs:extension>
</xs:complexContent>
</xs:complexType>
考虑到模式的潜在用户,我希望 xml 尽可能简单(这就是我使用all
而不是的原因sequence
)并且更喜欢摆脱xs:type
属性。
这可以在模式中指定吗?也许用不同的方法?