xml - 添加 XSD 属性限制
问题描述
我有一个这样的 XSD:
<xs:complexType name="ItemBase" abstract="true">
</xs:complexType>
<xs:complexType name="ContentItemBase" abstract="true">
<xs:complexContent>
<xs:extension base="ItemBase">
<xs:attributeGroup ref="path" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:attributeGroup name="path">
<xs:attribute name="path" type="xs:string" use="required" />
[...]
</xs:attributeGrou>
+ Various complex types derived from ContentItemBase, especially this one:
<xs:complexType name="FileItem">
<xs:complexContent>
<xs:extension base="ContentItemBase">
<xs:sequence>
[...]
</xs:sequence>
</xs:extension>
</xs:complexContent>
现在我想在“路径”属性上添加一个属性限制,但仅适用于 FileItem,而不是其他派生的 ContentItemBase 复杂类型。
如何将属性限制添加到已在复杂类型层次结构中进一步定义的属性组?
解决方案
您不能在一个步骤中扩展和限制。您需要定义FileItem0
为 的扩展ContentItemBase
,然后定义FileItem
为FileItem0
;的限制 您可以简单地通过使用新类型重新声明属性来限制属性,只要新类型是对基类型的有效限制。
推荐阅读
- python - 无法从 numPyy 数组制作视频
- fonts - 通过 Heroku CLI 列出系统字体
- javascript - 我的页面上有一堆具有不同参考 URL 的锚标记。如何使用 queryselectorAll 选择标签子集?
- python - 如何在不溢出的情况下增加一块 rgb 图像的亮度?
- excel - 频繁访问表数据
- microservices - 在kong api网关中,如何制作自定义url?
- python - KivyMD - Python - 如何在屏幕上动态添加新的小部件?
- django - NoReverseMatch at / Reverse for 'product' 没有找不到参数
- javascript - 来自 ICal 的重复事件的 NodeJS 问题
- java - 为什么 API 以响应代码 400 响应?