有没有办法在xmlSchema中强制执行标准isA关系?
类似
<complextype name="item">
#can be one of
<element type="desktop computer"/>
<element type="laptop"/>
<element type="smartphone"/>
</complextype>
整个想法是,与type =“smartphone”相比,type =“desktop computer”的元素可以拥有完全不同的成员
它基本上尝试类似于语法的东西: -
itemlist = item | item . itemlist
item = common_desc . (desktop_computer | laptop | smartphone)
desktop_computer = monitor_specs . cabinet_dimensions . blah
smartphone = carrier . 3g_enabled . blah_blah
依旧......
我知道这听起来像是一个相当人为的例子,你可能会说我需要为每个item_type定义一个新类型......但是我们假设这是一组非常有限的类型......
或者你可以从另一个关于饲料的isA关系(Recovering types through an Isa relationship)
的问题中取例。答案 0 :(得分:1)
您可以像这样使用xs:choice: -
<complexType name="item">
<choice>
<element name="dc" type="desktop_computer"/>
<element name="lp" type="laptop" />
</choice>
</complexType>