JiBX 1.2,第1部分: 从Java代码到XML模式 - 编程入门网
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |