xml - 允许/限制基于其他属性的 XML 属性

标签 xml xsd

是否可以创建具有以下行为的 XML 模式?我有一个如下所示的 XML 文件。我想根据类型的值公开或限制对象的属性。例如,如果 Type="Bike"我可能只想公开与自行车相关的属性(即踏板、车架等)。如果 Type="Car",我可能想公开仅与 Car 相关的属性(即 Make、Model、Miles 等)。

<Objects>
  <Object Type="Bike" Pedals="XXX" Frame="XXX" />
  <Object Type="Car" Make="XXX" Model="XXX" Miles="XXX" />
</Objects>

在此先感谢您的帮助。如果您有任何问题,请告诉我。

最佳答案

我的理解是,这超出了您使用 xsd 可以做的事情。此外,它使查询成为一场噩梦。首选方法(如果可能的话)是使用:

<vehicles>
  <bike pedals="XXX" frame="XXX" />
  <car make="XXX" model="XXX" miles="XXX" />
</vehicles>

carbike 可能在 xsd 中有一个共同的根 vehicle,但是它们自己的特定属性(在继承的属性之上) ).

关于xml - 允许/限制基于其他属性的 XML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/970146/

相关文章:

css - 将外部 css 应用于加载到 flash ActionScript 中的 xml

xml - 如何在没有命名空间的情况下获取属性值?

java - 在 Weblogic Server 中使用 JAXB 解码

jaxb - 使用 jaxb 将命名空间添加到 xml 的根元素

XML 架构 - "Element not supported in this context"

java - parser.setFeature 与 parser.setValidating

xsd - 将属性设置为 XML 模式中的所有类型

xml - 如何使用 XSL 转义 XML 内容以将其安全地输出为 JSON?

xml - 使 XSLT 结果文档由 “parent” XSLT 文档递归处理

java - 通过指定其属性来打印 XML 元素