Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据java中其他元素的内容跳过特定元素的XSD验证_Java_Xml_Xsd_Xsd Validation - Fatal编程技术网

根据java中其他元素的内容跳过特定元素的XSD验证

根据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 跳过 ....

在xsd中,我有如下元素,其中要求city、zip不能为空

<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代码所需。