378.2. 选项
XSLT 组件支持 9 个选项,如下所列。
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
xmlConverter (advanced) | 使用 org.apache.camel.converter.jaxp.XmlConverter 的自定义实现 | XmlConverter | |
uriResolverFactory (advanced) | 使用自定义 UriResolver,它依赖于动态端点资源 URI。不应与 'uriResolver' 选项一同使用。 | XsltUriResolverFactory | |
uriResolver (advanced) | 使用自定义 UriResolver。不应与 'uriResolverFactory' 选项一同使用。 | URIResolver | |
contentCache (producer) | 加载时的资源内容(样式表文件)的缓存。如果设置为 false Camel,将在每次消息处理时重新加载风格表文件。这适用于开发。可以使用 clearCachedStylesheet 操作,强制缓存的风格表通过 JMX 在运行时重新加载。 | true | 布尔值 |
saxon (producer) | 是否使用 Saxon 作为 transformerFactoryClass。如果启用,则类 net.sf.saxon.TransformerFactoryImpl。您需要将 Saxon 添加到 classpath 中。 | false | 布尔值 |
saxonExtensionFunctions (advanced) | 允许您使用自定义 net.sf.saxon.lib.ExtensionFunctionDefinition。您需要将 camel-saxon 添加到 classpath 中。该函数在 registry 中查找,您可以在其中用逗号分隔要查找的多个值。 | 字符串 | |
saxonConfiguration (advanced) | 使用自定义 Saxon 配置 | 对象 | |
saxonConfiguration Properties (advanced) | 设置自定义 Saxon 配置属性 | Map | |
resolveProperty Placeholders (advanced) | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
XSLT 端点使用 URI 语法进行配置:
xslt:resourceUri
使用以下路径和查询参数:
378.2.1. 路径参数(1 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
resourceUri | 必需的模板的路径。默认 URIResolver 支持以下内容。您可以为前缀:classpath, file, http, ref, 或 bean. classpath, file 和 http 使用这些协议加载资源(classpath 为 default)。ref 将查询 registry 中的资源。bean 将调用要用作资源的 bean 的方法。对于 bean,您可以在点后指定方法名称,如 bean:myBean.myMethod | 字符串 |
378.2.2. 查询参数(17 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
allowStAX (producer) | 是否允许使用 StAX 作为 javax.xml.transform.Source。 | true | 布尔值 |
contentCache (producer) | 加载时的资源内容(样式表文件)的缓存。如果设置为 false Camel,将在每次消息处理时重新加载风格表文件。这适用于开发。可以使用 clearCachedStylesheet 操作,强制缓存的风格表通过 JMX 在运行时重新加载。 | true | 布尔值 |
deleteOutputFile (producer) | 如果您有 output=file,则此选项指定在处理 Exchange 时是否应删除输出文件。例如,假设输出文件是一个临时文件,那么在使用后,最好将其删除。 | false | 布尔值 |
failOnNullBody (producer) | 如果输入正文为 null,是否抛出异常。 | true | 布尔值 |
output (producer) | 用于指定要使用的输出类型的选项。可能的值有:string, bytes, DOM, file。前三个选项都基于内存,其中文件直接流传输到 java.io.File。对于文件,您必须使用密钥 Exchange.XSLT_FILE_NAME (也是 CamelXsltFileName)在 IN 标头中指定文件名。另外,任何前需要创建文件名的路径,否则会在运行时抛出异常。 | 字符串 | XsltOutput |
saxon (producer) | 是否使用 Saxon 作为 transformerFactoryClass。如果启用,则类 net.sf.saxon.TransformerFactoryImpl。您需要将 Saxon 添加到 classpath 中。 | false | 布尔值 |
transformerCacheSize (producer) | 已缓存用于重复使用的 javax.xml.transform.Transformer 对象数量,以避免调用 Template.newTransformer ()。 | 0 | int |
converter (advanced) | 使用 org.apache.camel.converter.jaxp.XmlConverter 的自定义实现 | XmlConverter | |
entityResolver (advanced) | 使用自定义 org.xml.sax.EntityResolver 和 javax.xml.transform.sax.SAXSource。 | EntityResolver | |
errorListener (advanced) | 允许配置为使用自定义 javax.xml.transform.ErrorListener。在执行此操作时,需要注意,默认错误监听程序捕获任何错误或致命错误,并将 Exchange 的信息存储为不使用属性。因此,仅将这个选项用于特殊用例。 | ErrorListener | |
resultHandlerFactory (advanced) | 允许您使用自定义 org.apache.camel.builder.xml.ResultHandlerFactory,它能够使用自定义 org.apache.camel.builder.xml.ResultHandler 类型。 | ResultHandlerFactory | |
saxonConfiguration (advanced) | 使用自定义 Saxon 配置 | 对象 | |
saxonExtensionFunctions (advanced) | 允许您使用自定义 net.sf.saxon.lib.ExtensionFunctionDefinition。您需要将 camel-saxon 添加到 classpath 中。该函数在 registry 中查找,您可以在其中用逗号分隔要查找的多个值。 | 字符串 | |
同步 (advanced) | 设置是否应严格使用同步处理,或者 Camel 允许使用异步处理(如果受支持)。 | false | 布尔值 |
transformerFactory (advanced) | 使用自定义 XSLT transformer 工厂 | TransformerFactory | |
transformerFactoryClass (advanced) | 要使用自定义 XSLT 转换器工厂,请指定为 FQN 类名称 | 字符串 | |
uriResolver (advanced) | 使用自定义 javax.xml.transform.URIResolver | URIResolver |