通常有一种标准方法如何在Java中针对XSD架构验证XML,但我需要进行更复杂的验证,例如验证 Zip邮政编码,以确保此类ZIP确实存在。因此,我需要一些可定制的Validator,我将定义规则如下:(对不起琐事)
if( validationType.equals("ZipPostalCode") {
com.fuu.validations.Address.zipPostalCode( innerText );
}
使用XSD和一些可自定义的验证器库在Java中实现此类自定义验证的最简单方法是什么?
答案 0 :(得分:1)
如果使用Saxon作为模式处理器,则可以使用调用外部Java方法的XSD 1.1断言:
<xs:simpleType name="zipCode" base="xs:string">
<xs:assertion test="ext:isValidZipCode($value)" xmlns:ext="java:com.fuu.validations.Address"/>
</xs:simpleType>