gpt4 book ai didi

xml - XSD 指定一个只能在 XML 中使用一次的属性

转载 作者:数据小太阳 更新时间:2023-10-29 02:35:26 25 4
gpt4 key购买 nike

拥有一个具有多个属性的复杂类型:

<xs:complexType name="baseType" mixed="true">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="leader" type="xs:boolean" use="optional"/>
</xs:complexType>
<xs:element name="person" type="baseType"/>

如何限制 leader 属性在 XML 文件中只使用一次?所以以下不会验证(不能是两个领导者)

<person name="Charlie"/>
<person name="Megan" leader="true"/>
<person name="Moe"/>
<person name="Jonathan" leader="true"/>
<person name="Claire"/>

最佳答案

如果你给 leader 属性一个只有一个可能值的类型(例如,一个从 boolean 和allows only true),然后在包含 person 元素的 parent 元素级别添加一个 unique 约束,声明 person 元素必须具有其 的唯一值leader 属性。由于唯一约束仅适用于字段实际存在的元素,这将确保不超过一个人具有 leader 属性,并且当该属性存在时它必须为真。

我认为在 XML Schema 1.0 中没有强制执行“至少一个”的方法,如果可以使用 1.1,则可以通过断言来实现。

关于xml - XSD 指定一个只能在 XML 中使用一次的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22065095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com