我有3个不同的可能的根元素,名称不同,我们称之为foo,bar和baz。 所有这些可能的根元素都具有相同的类型,简称为fooBarOrBazType。
现在,当我从XSD生成我的类时,只有第一个元素是用fooBarOrBazType创建的。所以我可以创建那种类型,当我序列化它时,它将被称为foo。我没有看到任何bar或baz生成的条目。
当所有根元素位于同一模式中并且它们被拆分为不同的xsd文件时,都会发生这种情况。
有没有办法生成它,以便每个不同命名的元素都有自己的对应类?
我应该使用某种继承,以便创建3种不同的类型吗?我该如何修复这个继承?
我自己发现了,显然是使用:
<xs:element name="foo">
<xs:complexType>
<xs:complexContent>
<xs:extension base="p:fooBarBazType"/>
</xs:complexContent>
</xs:complexType>
就足够了。