根据java中其他元素的内容跳过特定元素的XSD验证
在xsd中,我有如下元素,其中要求city、zip不能为空根据java中其他元素的内容跳过特定元素的XSD验证,java,xml,xsd,xsd-validation,Java,Xml,Xsd,Xsd Validation,在xsd中,我有如下元素,其中要求city、zip不能为空 <addresses> <address> <name>abc</name> <address>skip</Address> .... <city/> <zip/> </address> </addresses> abc 跳过 ....
<addresses>
<address>
<name>abc</name>
<address>skip</Address>
....
<city/>
<zip/>
</address>
</addresses>
abc
跳过
....
但在特定情况下,例如,如果地址元素内容为skip,我不希望验证city、zip。
实现这个java或xsd级别的选项是什么。您可能不应该根据跳过验证来确定需求,而应该根据条件要求出现或类型。通常,“跳过验证”由
xs:any
处理,但这似乎不是您真正想要的
XSD 1.0无法表示元素引用依赖于其他元素值的约束。为此,您需要XSD1.1。例如,请参见要实现这一点,请关闭模式验证,并在Java代码中执行所有验证。--或者只需删除
和
的约束,使它们是可选的,并在存在
时将它们强制为Java代码所需。