xml - 对 2 个元素中存在的相同属性施加差异限制
问题描述
我有一个如下的xml:
<Setting>
<Error Num="1" Level="2"/>
<Warning Num="3" Level="3"/>
</Setting>
现在对于相应的 XSD,我想对“级别”进行限制,即“错误”中的“级别”的值应该在 1 到 10 之间,“警告”中的“级别”的值应该在 5 到 15 之间。我该怎么做XSD ?
解决方案
<?xml version="1.0" encoding="utf-8" ?>
<!--Created with Liquid Studio 2019 BETA (https://www.liquid-technologies.com)-->
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Setting">
<xs:complexType>
<xs:sequence>
<xs:element name="Error">
<xs:complexType>
<xs:attribute name="Num" type="xs:int" />
<xs:attribute name="Level">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
<xs:maxInclusive value="10" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Warning">
<xs:complexType>
<xs:attribute name="Num" type="xs:int" />
<xs:attribute name="Level">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="5" />
<xs:maxInclusive value="15" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
推荐阅读
- excel - Dropzone 在对话框中仅显示 CSV 和 XLS 文件
- c++ - 指定初始化器
- php - 检索没有 GET 参数的页面永久链接
- android - 蓝牙设备 ID 和名称空错误
- javascript - 折叠父节点直到鼠标移出其子节点
- java - 当资源位于不可关闭的包装器中时,Java try-with-resource
- c# - C# - 如何在 MVC 中使用新参数重新加载页面
- sql - 带回 Null/Zero 的简单数学公式
- javascript - 如何在notificationclick上将数据从服务工作者传递给客户端
- python - 在 Python 中的另一个 SQL 查询中使用一个 SQL 查询的输出