http://www.w3schools.com/schema/schema_complex.asp
在下面的代码片段中,为什么要使用第一种方法而不是第二种方法?
我们可以通过两种不同的方式在 XML Schema 中定义复杂元素:
A. “employee”元素可以直接通过命名元素来声明,像这样:
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
如果使用上述方法,则只有“employee”元素可以使用指定的复杂类型。请注意,子元素“firstname”和“lastname”被指示符包围。这意味着子元素必须以与声明它们相同的顺序出现。您将在 XSD 指标一章中了解有关指标的更多信息。
B. "employee" 元素可以有一个 type 属性,它引用要使用的复杂类型的名称:
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
如果使用上述方法,多个元素可以引用同一个复杂类型,如下所示:
<xs:element name="employee" type="personinfo"/>
<xs:element name="student" type="personinfo"/>
<xs:element name="member" type="personinfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
为什么要使用第一种方法而不是第二种方法?