48.2. 选项
JAXB dataformat 支持 20 个选项,如下所列。
| Name | 默认值 | Java 类型 | 描述 |
|---|---|---|---|
| contextPath |
| JAXB 类所在的 必需 软件包名称。 | |
| contextPathIsClassName |
|
| 这可设置为 true 来标记 contextPath 引用一个 classname 而不是软件包名称。 |
| schema |
| 针对现有架构进行验证。您可以使用前缀 classpath:、file: 或 http: 指定应如何解析资源。您可以使用 ',' 字符分隔多个架构文件。 | |
| schemaSeverityLevel |
|
| 设置在针对 schema 验证时要使用的模式严重性级别。此级别决定了触发 JAXB 停止继续解析的最低严重性错误。默认值 0 (警告)表示任何错误(警告、错误或严重错误)将触发 JAXB 来停止。有三个级别: 0=warning, 1=error, 2=fatal 错误。 Enum 值:
|
| prettyPrint |
|
| 要启用用户化的打印输出,请执行以下操作:默认为 false。 |
| objectFactory |
|
| 是否允许使用 ObjectFactory 类在 marshalling 期间创建 POJO 类。这只适用于没有通过 JAXB 注解的 POJO 类,并提供 jaxb.index 描述符文件。 |
| ignoreJAXBElement |
|
| 是否忽略 JAXBElement 元素 - 只在非常特殊用例中,只需要设置为 false。 |
| mustBeJAXBElement |
|
| marhsalling 必须是带有 JAXB 注释的 java 对象。如果不是,则失败。这个选项可以被设置为 false 来放宽,比如当数据已采用 XML 格式时。 |
| filterNonXmlChars |
|
| 忽略非 xml characheters,并将其替换为空空间。 |
| 编码 |
| overrule 并使用特定的编码。 | |
| 片段 |
|
| 打开 marshalling XML 片段树。默认情况下,JAXB 在给定类上查找 XmlRootElement 注释,以便在整个 XML 树上运行。这很有用,但有时生成的代码没有 XmlRootElement 注解,有时您需要 unmarshall 只是树的一部分。在这种情况下,您可以使用 partial unmarshalling。要启用此功能,您需要设置属性 partClass。Camel 会将此类传递给 JAXB 的 unmarshaler。 |
| partClass |
| 用于碎片解析的类名称。请参阅 fragment 选项的更多详情。 | |
| partNamespace |
| 用于碎片解析的 XML 命名空间。请参阅 fragment 选项的更多详情。 | |
| namespacePrefixRef |
| 使用 JAXB 或 SOAP 总结时,JAXB 实施将自动分配命名空间前缀,如 ns2、ns3、ns4 等。要控制此映射,Camel 允许您引用包含所需映射的映射。 | |
| xmlStreamWriterWrapper |
| 使用自定义 xml 流写器。 | |
| schemaLocation |
| 定义架构的位置。 | |
| noNamespaceSchemaLocation |
| 定义无命名空间模式的位置。 | |
| jaxbProviderProperties |
| 指的是要在含有要与 JAXB marshaller 搭配使用的自定义 JAXB 提供程序属性的注册表中查找的自定义 java.util.Map。 | |
| contentTypeHeader |
|
| 数据格式是否应该使用数据格式的类型设置 Content-Type 标头。例如,用于数据格式到 XML 的 application/xml 或用于数据格式的 application/json 发送到 JSON。 |
| accessExternalSchemaProtocols |
|
| 仅在启用了 schema 验证时使用。限制对由 schemaLocation 属性 Import 和 Include 元素设置的用于外部引用指定的协议的访问。协议的示例包括 file、http、jar:file. false 或 none 用于拒绝对外部引用的所有访问;特定的协议(如 file)来仅授予该协议的权限;关键字 all 为所有协议授予权限。 |