0

これを機能させる方法は?例えば:

<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>
4

1 に答える 1

2

置換グループは、最上位の要素によってのみ先頭に立つことができます。複合型 'basic' 内で宣言する 'firstname' 要素は、その複合型に対してローカルであるため、置換グループの先頭として 'name' 要素で名前を付けることはできません。

その理由を理解するには、次のことを自問してください。スキーマに「firstname」という名前のローカル要素が他に 3 つあり、そのうちの 2 つが文字列で、1 つがブール値である場合、XSD バリデーターはどの要素が宣言内の参照によって意味されているかをどのように判断するでしょうか。 「名前」の?

于 2013-10-27T00:57:31.630 に答える