具有相同类型的多个元素仅生成一个根

时间:2012-10-19 11:09:06

标签: xml visual-studio-2010 xsd xsd.exe

我有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>

就足够了。

0 个答案:

没有答案