如何使这项工作? 例如:
<xs:element name="name"
type="xs:string"
substitutionGroup="firstname"/>
以下代码...
<xs:complexType name="basic">
<xs:sequence>
<xs:element name="firstname" type="xs:string" />
<xs:element name="lastname" type="xs:string" />
</xs:sequence>
</xs:complexType>
答案 0 :(得分:1)
替换组只能由顶级元素组成;您在复杂类型“basic”中声明的'firstname'元素是该复杂类型的本地元素,因此不能将您的'name'元素命名为其替换组的头部。
要了解原因,请问自己:如果架构中有三个名为“firstname”的本地元素,其中两个是字符串,其中一个是布尔值,那么XSD验证器将如何决定引用的含义在'name'的声明中?