如果不使用XSD,如何为JAXB定义验证规则?

时间:2013-06-17 18:27:10

标签: validation jaxb

所以,我们有一个使用jaxb来编组和解组的项目。我们没有XSD的。我们只有带注释的Java对象。因此,当xml进入我们的系统时,我们将其解组。 JAXB文档讨论了在解组阶段验证java对象的问题。我希望能够在某处添加一些验证规则(java源代码上的注释,jaxb注释旁边的注释?perhpas?),这将给我一个可读,可维护,声明式的样式验证机制。但我不确定JAXB是否支持这一点;也许JAXB验证只能由XSD驱动。建议?

http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBWorks2.html#wp82802

1 个答案:

答案 0 :(得分:1)

JAXB验证(JSR-222)

JAXB验证基于XML架构(请参阅:http://blog.bdoughan.com/2010/12/jaxb-and-marshalunmarshal-schema.html)。

Bean验证(JSR-303& 349)

您可以在模型上使用Bean Validation 1.0 (JSR-303)1.1 (JSR-349)注释来定义验证规则。