快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
得到诸如 postCode 和 customerNumber 之类的名称)。XML 名称不是标准化的,并且通常使用几种不同的样式。这些样式包括首字母小写的大小写混合样式(Java 字段和属性名称样式)、首字母大写的大小写混合(Java 类名样式)、连字符分隔符(用连字符分隔单词)样式、点分隔符(用点分隔单词)样式以及下划线分隔符(用下划线分隔单词)样式。

默认情况下,BindGen 对 XML 名称采取大小写混合样式,但是您可以通过在任意自定义级别中设置 name-style 属性(<custom>、<package> 或 <class> 元素)轻松地更改此样式。此属性允许的值与上面列出的各种 XML 样式相匹配:

camel-case(默认)

upper-camel-case

hyphenated

dotted

underscored

您还可以使用专门针对值的自定义设置该值的 XML 名称。使用单独的值自定义将使您可以完全控制该值的访问方法及在 XML 中的表示方法。基于您已经在前面示例中看到的相同示例代码,清单 11 将给出若干个将自定义元素用于单独值的示例:

清单 11. 自定义名称和名称空间

<custom property-access="true" name-style="hyphenated" namespace="http://jibx.org/custom"
    namespace-style="fixed">
  <package name="org.jibx.starter">
    <class name="Address" includes="street1 street2 city @state @postCode country"
        requireds="street1 city"/>
    <class name="Customer" includes="customerNumber firstName lastName"
        requireds="lastName firstName /customerNumber"/>
    <class name="Item" excludes="description" requireds="@id quantity price"/>
    <class name="Order" requireds="orderNumber customer billTo shipping orderDate">
     <value property-name="orderNumber" element="order-num"/>
      <value property-name="items" item-name="line-item" element="order-items"/>
    </class>
  </package>
</custom>

清单 11 中的第一个值自定义用于 <class name="Order"...> 元素中的 orderNumber 属性。通过使用 element="order-num" 属性,orderNumber 自定义将告诉 BindGen 将值表示为元素,而不是原语值使用的默认属性形式。第二个自定义用于 items 集合属性。此自定义将使用 item-name 和 element 属性。item-name 属性将控制集合所表示的各个值使用的名称,而 element 属性将强制使用提供的名称作为集合中的值的封装元素。

没有名称空间的 XML

所有教程示例都使用 XML 名称空间,因为通常把使用名称空间视为数据交换的最佳实践。如果需要使用没有名称空间的 XML,您可以在任意自定义级别使用 namespace-style="none" 属性彻底关闭所有嵌套组件的名称空间。

清单 11 中的自定义还定义要在 XML 文档中使用的名称空间。前面的示例依赖于 BindGen 对名称空间的默认处理:从 Java 包派生出在 Java 代码的 XML 表示中使用的名称空间 URI。此默认处理把 org.jibx.starter 包转换成了名称空间 URI http://jibx.org/starter。在 清单 11 中,名称空间是通过在根 <custom> 元素中添加一对属性 — namespace="http://jibx.org/custom" 和 namespace-style="fixed" — 来自定义的。这些属性中的第一个属性将

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号