xsd - xsd - 不允许在枚举列表中定义值
问题描述
我想对属性强制执行一个规则,该规则不允许在与另一个属性关联的枚举值中定义的值。
这是我的示例架构。
<xs:complexType name="component">
<xs:attribute name="type" type="componentMainType"/>
<xs:attribute name="category" type="forbiddenCategoryTypes" use="optional"/>
</xs:complexType>
<xs:simpleType name="forbiddenCategoryTypes">
<xs:restriction base="xs:string">
**<xs:pattern value="not in forbiddenCategoryTypes"/>**
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="componentMainType">
<xs:restriction base="xs:string">
<xs:enumeration value="Component1"/>
<xs:enumeration value="Component2"/>
<xs:enumeration value="Component3"/>
<xs:enumeration value="Component4"/>
<xs:enumeration value="Component5"/>
</xs:restriction>
</xs:simpleType>
解决方案
在我看来不可能,模式只需要一个正则表达式。我找不到任何其他相关限制。
我建议用值改变正则表达式的方法(我知道这不是最佳解决方案)。
推荐阅读
- python - Pony orm 连接池
- javascript - 在 JS 中将 webm 容器更改为 mp4 视频客户端的任何等效于“-c:v copy”的方法?
- azure - Get-AzureRmStorageAccount,挖掘容器文件并获取“修改”属性
- android - 编译应用程序时已存在 R8 程序类型错误
- python - 需要在作者评论部分设置 current.username
- python - 过滤包含步行轨迹的数据集中的噪声
- sql - 在一个字段上连接两个表包含另一个字段
- javascript - forEach 循环中的 Promise
- python - 使用 2 格式 Python 更改类型列
- laravel - 在 laravel 中查询获取关系数据