JAXB是否始终需要XSD

时间:2012-03-29 11:33:41

标签: java parsing jaxb xml-parsing marshalling

http://www.oracle.com/technetwork/articles/javase/index-140168.html#binsch - 本文说“ JAXB要求您要访问的XML文档具有架构

这是一个Hello World示例,使用hello.xsd

http://jaxb.java.net/tutorial/section_1_3-Hello-World.html#Hello%20World -

这是一个不使用任何xsd的Hello World示例。

http://www.mkyong.com/java/jaxb-hello-world-example/

规范是否说JAXB也可以在没有 xsd的情况下工作,如果这是真的,那么术语“绑定”的合理程度。我相信通过绑定架构来实现绑定。

Carification将会有所帮助。感谢

3 个答案:

答案 0 :(得分:4)

JAXB 2 (JSR-222)实现不需要 XML架构。您可以从对象模型开始。您只需要在要覆盖默认映射行为的地方添加注释。

注意:您引用的链接(http://www.oracle.com/technetwork/articles/javase/index-140168.html#binsch)适用于需要XML架构的JAXB 1 (JSR-31)。 JAXB 2是大多数人所说的,当他们说JAXB不需要XML模式时。

答案 1 :(得分:0)

本教程中的Customer类只不过是一个绑定对象,它将使用JAXB从XSD生成。那个人在他的教程中逃脱了。

答案 2 :(得分:0)

xsd只是xml的正式表示,类似于'Object'的'Class'。你可以拥有一个没有xsd的兼容xml(在这种情况下,xsd是隐藏的)。虽然我们确实从xsd开始并且在大多数情况下生成java对象,但您也可以反过来做事情。 'schemagen'实际上让你为给定的java类提出了一个xsd。这只是说有多个起点。