gpt4 book ai didi

xsd-validation - 带有 If Else Possibility 的 XSD 验证

转载 作者:行者123 更新时间:2023-12-04 23:58:24 26 4
gpt4 key购买 nike

只是想弄清楚是否可以通过 XSD 模式级别验证来实现以下场景。

例如-

<PreferredPlan>
This tag can have Values - Family or Single

如果我得到的值为“Family”,我应该有以下 xml 元素。
<Family>
<tag1></tag1>
<tag2></tag2>

如果捕获了“单个”值,我应该有以下标签。
<Single>
<tag3></tag3>
<tag4></tag4>
</Single>

最佳答案

定义它的一种简单方法如下所示:

<xs:element name="PreferredPlan">
<xs:complexType>
<xs:choice>
<xs:element ref="Family"/>
<xs:element ref="Single"/>
</xs:choice>
</xs:complexType>
</xs:element>

<xs:element name="Family">
<xs:complexType>
<xs:sequence>
<xs:element ref="tag1"/>
<xs:element ref="tag2"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="Single">
<xs:complexType>
<xs:sequence>
<xs:element ref="tag3"/>
<xs:element ref="tag4"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="tag1" type="xs:string"/>
<xs:element name="tag2" type="xs:string"/>
<xs:element name="tag3" type="xs:string"/>
<xs:element name="tag4" type="xs:string"/>

这允许
<PreferredPlan>
<Family>
<tag1/>
<tag2/>
</Family>
</PreferredPlan>


<PreferredPlan>
<Single>
<tag3/>
<tag4/>
</Single>
</PreferredPlan>

并禁止
<PreferredPlan>
<Family>
<tag3/>
<tag4/>
</Family>
</PreferredPlan>

关于xsd-validation - 带有 If Else Possibility 的 XSD 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13755427/

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