Xsd 扩展受限类型
您能否拥有一个allready受限类型,然后通过扩展从此类型派生并添加不适合基类型的元素Xsd 扩展受限类型,xsd,Xsd,您能否拥有一个allready受限类型,然后通过扩展从此类型派生并添加不适合基类型的元素 <xsd:complexType name="absHcontainerType"> <xsd:complexContent> <xsd:restriction base="e:urContentType"> <xsd:sequence> <xsd:element ref="
<xsd:complexType name="absHcontainerType">
<xsd:complexContent>
<xsd:restriction base="e:urContentType">
<xsd:sequence>
<xsd:element ref="e:absMcontainer" minOccurs="0"
maxOccurs="1" />
<xsd:element ref="e:absHtitle" minOccurs="1" maxOccurs="unbounded" />
<xsd:choice minOccurs="1" maxOccurs="unbounded">
<xsd:element ref="e:absMcontainer" />
<xsd:element ref="e:absHcontainer" />
<xsd:element ref="e:absContainer" />
</xsd:choice>
</xsd:sequence>
<xsd:attributeGroup ref="e:typehcontainer" />
<xsd:attributeGroup ref="e:anyattr" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
然后像这样导出:
<xsd:complexType name="absHcontainerType2">
<xsd:complexContent>
<xsd:extension base="absHcontainerType">
<xs:sequence>
<xs:element name="xy" type="xs:string"/>
<xs:element name="xyz" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xsd:complexContent>
</xsd:complexType>
只要你不把那些受到限制的东西放回去,我就不认为会有问题。您在尝试时是否确实遇到了错误?谢谢您的回答。我不明白的是:好的,您有absHcontainerType类型,它只允许absMcontainer、absHtitle、absHcontainer和absContainer元素。你怎么能用其他元素来扩展它?您可以添加一个新类型,该类型是从其基限制中的一个类型继承的。因此,我只能使用继承自的类型来扩展它:absMcontainer、absHtitle、absHcontainer和absContainer。没有别的。或者我的想法有什么问题?在这个例子中,我用string做了一个扩展。这未列在基本限制中。