gpt4 book ai didi

xml - 如何强制子元素在 XSD 中具有值?

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

我有一个 XML(作为示例),在 Order 段中有一个名为 Type 的段。该段是一对多的,所以我们有类似的东西:

<Order>
<Type>1</Type>
<Type>2</Type>
<Type>3</Type>
</Order>

现在验证应该是,段 Order 中始终应该有值为 1 的段 Type,如果没有,则应该发生验证错误。我尝试了一些验证,但无法得到正确的结果。有没有人考虑过如何实现这个,甚至这是否可能?

最佳答案

XSD 1.0

您的约束无法在 XSD 1.0 中表达。

XSD 1.1

您的约束可以在 XSD 1.1 中使用断言来表达,以声明 Order 的至少一个 Type 子级具有1 的值:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
vc:minVersion="1.1">
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="Type" maxOccurs="unbounded" type="xs:integer"/>
</xs:sequence>
<xs:assert test="Type = 1"/>
</xs:complexType>
</xs:element>
</xs:schema>

关于xml - 如何强制子元素在 XSD 中具有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36217364/

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