JiBX 1.2,第1部分: 从Java代码到XML模式 - 编程入门网
定义基本名称空间,而第二个属性将防止根据 Java 包修改名称空间的一般行为。这些属性都是通过嵌套自定义元素继承的,因此可以将其轻松地放到 <package> 元素中,而不是放在 <custom> 元素中。
JiBX 1.2,第1部分: 从Java代码到XML模式(16)时间:2012-01-14 IBM Dennis Sosnoski您可以通过使用 Ant custgen3 目标生成绑定和模式,并使用 run3 目标运行测试(在使用标准 bind 目标运行 JiBX 绑定编译器后 — 或者使用 full3 目标执行整个过程),尝试执行 清单 11 中的自定义。清单 12 显示了用于测试代码的输入文档: 清单 12. 带有自定义名称及名称空间的 XML 样例 <order order-date="2008-10-18" ship-date="2008-10-22" xmlns="http://jibx.org/custom"> <order-num>12345678</order-num> <customer> <customer-number>5678</customer-number> <first-name>John</first-name> <last-name>Smith</last-name> </customer> <bill-to state="WA" post-code="98059"> <street1>12345 Happy Lane</street1> <city>Plunk</city> <country>USA</country> </bill-to> <shipping>PRIORITY_MAIL</shipping> <ship-to state="WA" postCode="98034"> <street1>333 River Avenue</street1> <city>Kirkland</city> </ship-to> <order-items> <line-item quantity="1" price="5.99" id="AC4983498512"/> <line-item quantity="2" price="9.50" id="IW2349050499"/> <line-item quantity="1" price="8.95" id="RC3000488209"/> </order-items></order> 如果比较 清单 12 与 清单 10 中的样例,您将看到最新的自定义如何更改了表示。 自定义模式表示 现在,您已经了解了 BindGen 自定义如何更改 Java 数据的 XML 表示。自定义还可用于控制实际模式结构的某些方面。 回想一下,BindGen 默认对全局类型和元素优先使用嵌套定义。如果回顾 清单 9 生成的模式,您将看到此嵌套结构。模式仅使用三个全局定义:address 和 order 复杂类型以及 order 元素。Java 数据结构中的其他类(Customer、Item 和 Shipping)都只在 Order 类中引用一次,因此相应的类型定义是直接嵌入在 order 模式类型定义中的。 您可以在任意嵌套自定义元素中使用 force-mapping="true" 属性来更改模式样式。清单 13 显示了 custom4.xml 自定义文件,该文件将把此更改添加到匹配 清单 9 生成的模式的 custom2.xml 自定义中: 清单 13. 模式结构的自定义 <custom property-access="true" force-mapping="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" requ |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |