Altova XMLSpy 2014 には、以下を定義する XSD ドキュメントがあります:
- 抽象型「t_abs」。
- 一連の要素として定義された具象型「t_con」と、要素の 1 つが型「t_abs」として定義されています。
- タイプ "t_con" で定義された要素 (インスタンス化可能)、"e_con"。
あれは正しいですか?抽象型は具象型のベースとして (拡張または制限によって) 使用されていないため、エラーが発生するはずだと思います。抽象型 (t_abs) は、インスタンス化可能な具象への具象要素の型として使用されています。要素 (t_con)。
XMLSpy は具体的な要素で使用されている抽象型の警告を返す必要がありますか?
例:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified" attributeFormDefault="unqualified" vc:minVersion="1.1">
<xs:complexType name="t_abs" abstract="true">
<xs:sequence>
<xs:element name="el" type="xs:string"/>
<xs:element name="e2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="t_con">
<xs:sequence>
<xs:element name="e_t_con_1" type="xs:string"/>
<xs:element name="e_t_abs" type="t_abs"/>
<xs:element name="e_t_con_2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="e_con" type="t_con"/>
</xs:schema>