快速业务通道

JiBX 1.2,第1部分: 从Java代码到XML模式 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
lt;xs:annotation>        <xs:documentation>Number of units ordered.</xs:documentation>       </xs:annotation>      </xs:attribute>      <xs:attribute type="xs:float" use="required" name="price">       <xs:annotation>        <xs:documentation>Price per unit.</xs:documentation>       </xs:annotation>      </xs:attribute>     </xs:complexType>    </xs:element>   </xs:sequence>   <xs:attribute type="xs:long" use="required" name="orderNumber"/>   <xs:attribute type="xs:date" name="orderDate">    <xs:annotation>     <xs:documentation>Date order was placed with server.</xs:documentation>    </xs:annotation>   </xs:attribute>   <xs:attribute type="xs:date" name="shipDate">    <xs:annotation>     <xs:documentation>      <![CDATA[Date order was shipped. This will be <code>null</code> if the order        has not yet shipped.]]></xs:documentation>    </xs:annotation>   </xs:attribute>  </xs:complexType> </xs:schema>

JiBX 1.2,第1部分: 从Java代码到XML模式(6)

时间:2012-01-14 IBM Dennis Sosnoski

默认情况下,BindGen 将为只使用一次的类型生成带有嵌套的 complexType 和 simpleType 定义的模式,并为使用多次的类型生成带有各种定义的模式。在这种情况下,嵌套的样式将得到只有 3 个全局定义的模式:address 和 order 复杂类型以及 order 元素。Order 类在两个位置使用了 Address 类(表示帐单地址和送货地址),因此该类在模式中是由单独的全局定义表示的(仅当定义为全局定义时,模式才允许您重用定义)。Java 数据结构中的其他类(Customer、Item 和 Shipping)都只在 Order 类中被引用了一次,因此相应的类型定义是直接嵌入到 order 模式类型定义中的。

可以通过输入类中的 Javadoc 生成模式文档,这是 BindGen 比较棒的功能之一。在 清单 2 中,您可以看到 清单 1 中带有 Javadoc 的各个字段的模式文档,以及与带有 Javadoc 的类对应的各个全局类型的模式文档。BindGen 的默认处理并不能使所有形式的 Javadoc 与模式组件相匹配 — 并且某些 Javadoc(例如关于 “get” 访问方法的 Javadoc)在转换成模式文档后可能看上去很奇怪 — 但是得到的模式文档对于阐明 XML 表示的正确用法极为有用。如果需要在转换过程中对文本进行某些更改(例如从 “get” 方法 Javadoc 中去掉 “Get the ...” 引导语句),您甚至可以为用作模式文档的 Javadoc 定义您自己的 formatter 类。

仅当您可以获得类的源代码并且为 BindGen 提供一个实参告诉它根目录路径时,才可以使用这项 Javadoc 转换功能。在我先前提供的命令行样例中,提供的源代码路径为 -s src。

生成的 JiBX 绑定

除了模式定义之外,BindGen 还将生成 JiBX 绑定定义(在本例中为 binding.xml 文件),该绑定定义将告诉 JiBX 绑定编译器如何在 Java 类与 XML 之间进行转换。实际上,该绑定定义是 BindGen 的主要输出,同时通过绑定生成了模式。绑定定义包含 JiBX 所完成的转换的完整信息,因此它们必然非常复杂。幸运的是,使用 BindGen 绑定和模式生成

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号