Xsd 如何编写一个模式来生成具有扩展名的无序xml
在以下模式中,我尝试生成扩展SimpleConfiguration对象的无序xml:Xsd 如何编写一个模式来生成具有扩展名的无序xml,xsd,jaxb,Xsd,Jaxb,在以下模式中,我尝试生成扩展SimpleConfiguration对象的无序xml: <xs:complexType name="forTestingConfigurationObjectCreator"> <xs:complexContent> <xs:extension base="simpleConfigurationObject"> <xs:all> <xs:element name="a" t
<xs:complexType name="forTestingConfigurationObjectCreator">
<xs:complexContent>
<xs:extension base="simpleConfigurationObject">
<xs:all>
<xs:element name="a" type="xs:string"/>
<xs:element name="b" type="xs:string" minOccurs="0"/>
</xs:all>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="simpleConfigurationObject">
<xs:all>
<xs:element name="base" type="xs:string" minOccurs="0"/>
</xs:all>
</xs:complexType>
但是我在xs上得到以下错误:all
“all不是组中唯一的粒子,或用作扩展”(这是正确的)
当然,如果将基本元素放在xs:all中,而根本不使用xs:extension,我将得到无序模式限制。(但这不是我想要的)
问题是:如何使用扩展生成无序模式
谢谢您不能这样做,模式规范禁止这样做。请参见亨利·汤普森(规范的作者)的解释
简而言之:当解析器到达派生类型时,必须完全解析基类型的内容模型;这对于您试图实现的目标是不可能的。您不能,这是模式规范所禁止的。请参见亨利·汤普森(规范的作者)的解释 简而言之:当解析器到达派生类型时,必须完全解析基类型的内容模型;这是不可能的,因为你正在努力实现