【问题标题】:Validate an XML generated using JAXB Classes (not by XSD)验证使用 JAXB 类(不是 XSD)生成的 XML
【发布时间】:2013-01-19 00:45:30
【问题描述】:

如果 XML 是由 JAXB 类(而不是 XSD)生成的,我没有要验证的 XSD。如何验证 XML? JAXB 是否在开始解组之前自动验证 XML?

【问题讨论】:

标签: xml xsd jaxb jaxb2 jaxb2-basics


【解决方案1】:

如果您没有 XSD,JAXB 仍将执行“结构”验证。例如,如果您使用“必需”或指定特定的“访问顺序”注释 JAXB 类属性,并且输入 XML 未确认注释的值,您将获得异常。但是,您将无法执行“数据”验证,例如特定的 XML 元素被限制为具有“8”个字符长度(我相信 JEE7 将集成 BeanValidation 并希望 JAXB 利用此规范)。

【讨论】:

  • 感谢您的回复。数据验证是我正在寻找的。你有什么建议吗?
  • 就个人而言,我仍然希望在 XSD 中进行数据验证。在您的情况下,使用 JDK schemagen 工具从 JAXB 生成 XSD 并进行修改以进行数据验证并按照 @Patrice 建议的链接进行操作会很容易。您也必须认真探索 Schematron。
猜你喜欢
  • 2011-10-15
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-29
  • 2012-07-12
相关资源
最近更新 更多