在xsd我有像下面的元素,它需要城市,拉链不是空的。
<addresses>
<address>
<name>abc</name>
<address>skip</Address>
....
<city/>
<zip/>
</address>
</addresses>
但在特定情况下,例如如果地址元素内容被跳过,我不想要城市,zip验证。有什么选择来实现这个java或xsd级别。
您可能应该根据跳过验证而不是根据条件要求出现或类型来构建您的要求。通常“跳过验证”由xs:any
处理,但这似乎并不像你想要的那样。
XSD 1.0无法表示元素出现依赖于其他元素值的约束。你需要XSD 1.1。有关示例,请参阅Require XML element in XSD when another element has certain value?