0

How to make this work? for example:

<xs:element name="name" 
            type="xs:string" 
            substitutionGroup="firstname"/>

for this code bellow...

<xs:complexType name="basic">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string" />
    <xs:element name="lastname" type="xs:string" />
  </xs:sequence>
</xs:complexType>
4

1 回答 1

2

替代组只能由顶级元素领导;您在复杂类型 'basic' 中声明的 'firstname' 元素是该复杂类型的本地元素,因此不能由您的 'name' 元素命名为其替换组的头。

要理解为什么,问问自己:如果架构中还有其他三个名为 'firstname' 的本地元素,其中两个是字符串,一个是布尔值,那么 XSD 验证器将如何确定声明中的引用意味着哪一个'名字'?

于 2013-10-27T00:57:31.630 回答