XSD替换组和多重继承以删除xsi:type

时间:2019-01-17 14:39:50

标签: xml xsd

我正在尝试创建可读的XML,而编组XML附带的不必要的xsi:type声明有一个小问题。有人知道我能做些什么来防止这种情况并只显示超类吗?

我尝试将替换组设置为各种设置,但是没有运气。也许我缺少一些特殊情况。

  <element name="Motorized" type="app:Motorized" substitutionGroup="app:MetalObject"/>

  <element name="Car" type="app:CarType" substitutionGroup="app:MetalObject"/>

  <element name="Tank" type="app:TankType" substitutionGroup="app:MetalObject"/>

这是我的示例输出:

<Motorized xsi:type="Car"...

我想做的是将其显示为没有声明特定类型的机动车辆,尽管它是汽车:

<Motorized ...

原因众生我有一个XML子元素来描述它已经是什么类型。 有没有办法做到这一点?我可以毫无问题地显示它:

<Car ...

或我拥有的其他任何子类

但是我只希望我的XML显示它是电动的,而不显示什么类型(来自XML内的子元素,我在那里有一个类型)。

我必须在XSD中进行哪些更改以允许这样做?

最诚挚的问候。

0 个答案:

没有答案