通过 Web 服务 API 和 JAXB 编组与 WebSphere Process Server 交互
2010-07-05 00:00:00 来源:WEB开发网常见的其他需求包括覆盖默认的绑定规则(由于包名等命名需求或命名冲突)、覆盖默认的映射 enums 以使它们类型安全或者添加文档。一种实现方法是 内联定制。
但是,这些方法都要求您能够直接控制模式。如果不是这种情况,应该使用外部定制。
ObjectFactory 可以方便地创建组成树中子元素的对象。根据定义,新创建的 JAXB 对象是 “浅对象”;也就是说,如果它的树结构中包含复杂的类型,那么并不创建这些对象,它们仅仅是 null。元素对象工厂的方法或 Java 类的构造器都不提供标准的树构建算法。这在构造树的方式方面提供了灵活性,但是也意味着由您负责构造树。我们将在 创建子树 一节中详细讨论这个主题。
外部绑定定制
如果无法直接控制 XSD 文件、要处理的模式文档很大或者只是为了清晰起见想分为两个文件,那么可以把绑定规则放在单独的外部文件中。绑定定制文件也是 XML 模式文档,扩展名通常是 .xjb。定制文件的一般语法见清单 3。
清单 3. 绑定文件语法
<jaxb:bindings schemaLocation = "xsd:anyURI">
<jaxb:bindings schemaLocation=”file.xsd” node="xsd:string">
<binding declaration>
<jaxb:bindings>
</jaxb:bindings>
其中:
schemaLocation 引用远程模式。
node 是一个 XPath 1.0 表达式,它指定与给定的绑定声明相关联的模式节点(对 XPath 的详细说明参见 XML Path Language)。
<binding declaration> 控制如何生成 JAXB 数据绑定工件。
绑定声明与一个范围相关联,见图 8。
图 8. 绑定范围
更多精彩
赞助商链接