快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
ionals 列表中的名称前面加一个标志字符,表示是将它们设为子元素,还是设为属性。

默认情况下,BindGen 将把所有原语值和简单对象值(带有直接的 XML 等效类型而非 String 的类)处理为属性,并把所有复杂对象值处理为子元素。所有原语值都将被处理为必需值,而所有对象值都将被处理为可选值。除了通过使用 includes、requireds 和 optionals 元素在 <class> 自定义级别覆盖这些默认值之外,您还可以通过在任意自定义级别(<custom>、<package> 或 <class> 元素)中设置 value-style="element" 属性,将默认表示改为对所有值使用元素。您还可以使用 require 属性来控制:在 XML 中,哪些类型应当被处理为必需值:

require="none" 将把??有内容都处理为可选值。

require="primitives" 是默认值,仅将原语值处理为必需值。

require="objects" 与默认值相反,将把原语值设为可选值,将对象类型处理为必需值。

require="all" 将把所有值默认处理为必需值。

清单 8 显示了教程下载部分的 dwcode1 目录中的 custom2.xml 自定义文件,演示了我在本节中讨论过的几项功能:

清单 8. 自定义顺序、必需状态及表示

<custom property-access="true">
  <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"/>
  </package>
</custom>

您可以通过使用 Ant custgen2 目标(ant compile custgen2 bind,用于运行完整的构建)尝试这组自定义。清单 9 显示了使用这些自定义的生成模式的一部分,显示了结果顺序、必需状态(minOccurs="0" 在模式中被默认为是必需的,表示可选的元素,use="required" 在模式中被默认为是可选的,表示必需的属性)和元素或属性表示:

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

时间:2012-01-14 IBM Dennis Sosnoski

清单 9. 使用自定义生成的模式

<xs:complexType name="order">
  <xs:annotation>
    <xs:documentation>Order information.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
    <xs:element type="xs:long" name="orderNumber">
      <xs:annotation>
        <xs:documentation>Get the order number.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="customer">
      <xs:complexType>
        <xs:sequence>
          <xs:element type="xs:long" name="customerNumber"/>
          <xs:element type="xs:string" name="firstName"/>
          <xs:element type="xs:string" name="la

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