与 xml Schema 强制建立 isA 关系

发布于 2025-01-05 19:49:08 字数 886 浏览 1 评论 0原文

有没有办法在 xmlSchema 中强制执行标准 isA 关系?

所以

<complextype name="item">    
  #can be one of    
  <element type="desktop computer"/>    
  <element type="laptop"/>    
  <element type="smartphone"/>    
</complextype>

整个想法是 type="desktop computer" 的元素与 type="smartphone" 的元素相比可以具有完全不同的成员

它基本上是在尝试类似于语法的东西:-

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 的另一个问题是关于 feed 的关系 (通过 Isa 关系恢复类型 )

Is there a way to enforce the standard isA relationship in an xmlSchema?

so something like

<complextype name="item">    
  #can be one of    
  <element type="desktop computer"/>    
  <element type="laptop"/>    
  <element type="smartphone"/>    
</complextype>

The whole idea being that an element of type="desktop computer" can have entirely different members compared to that of say type="smartphone"

It's basically trying for something similar to the grammar :-

itemlist = item | item . itemlist    
item = common_desc . (desktop_computer | laptop | smartphone)    
desktop_computer = monitor_specs . cabinet_dimensions . blah    
smartphone = carrier . 3g_enabled . blah_blah

and so on...

I know that this sounds like a fairly contrived example and you may argue that I would need to define a new type for each item_type... but let's assume that this is a very limited set of types...

Or you could take the example from the other question on isA relationships about feeds (Recovering types through an Isa relationship )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无人接听 2025-01-12 19:49:08

您可以像这样使用 xs:choice :-

<complexType name="item">
    <choice>
        <element name="dc" type="desktop_computer"/>
        <element name="lp" type="laptop" />
    </choice>
</complexType>

You can use xs:choice like this :-

<complexType name="item">
    <choice>
        <element name="dc" type="desktop_computer"/>
        <element name="lp" type="laptop" />
    </choice>
</complexType>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文