当前位置: 首页 > 知识库问答 >
问题:

spring集成xml中使用的默认XSLT转换器是什么?

芮瑾瑜
2023-03-14

使用Spring集成XML 3.0.0。版本I有一个XSLT转换器:

<int-xml:xslt-transformer id="tm100Totm120aTransformation"
    xsl-resource="classpath:xsd/mailxml/xslt/tm120b_to_tm140a.xsl"
    result-transformer="resultToString"
    input-channel="validatedtm100Message"
    output-channel="validatedtm120aMessage"/>

在不指定transformer factory类属性的情况下,Spring如何确定实际使用的TransformerFactory?

TransformerFactory的JavaDoc。newInstance()状态:

获取TransformerFactory的新实例。此静态方法创建一个新的工厂实例此方法使用以下有序查找过程来确定要加载的TransformerFactory实现类:

  • 使用javax。xml。使改变TransformerFactory系统属性

一旦应用程序获得对TransformerFactory的引用,它就可以使用工厂来配置和获取transformer实例。

Spring是否遵循此过程?我似乎在Spring文档中找不到Spring如何执行此操作的详细信息。

附笔。

调试检查后,我的应用程序似乎正在使用com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl作为实现。我的理解是Xalan包含在JRE中(我使用的是Java1.6);假设我使用的是平台默认的TransformerFactory是否合理?

共有1个答案

秦钟展
2023-03-14

可以使用-Djaxp运行。debug=true,并通过日志确认正在进行的操作。

查找XSLT实现的引导过程是Xalan的一部分,它的设计是将API与多种可能的实现分离开来。

因此,这不是Spring的一部分,而是Xalan的一部分,Spring通过调用您提到的变压器工厂方法间接使用它。

所选实现的包名包含内部,这意味着选择了JVM附带的默认实现,这是引导过程中的最后一个选项。

 类似资料:
  • 本文向大家介绍ASP.NET使用xslt将xml转换成Excel,包括了ASP.NET使用xslt将xml转换成Excel的使用技巧和注意事项,需要的朋友参考一下 序:   最近在给客户做一个管理系统的时候,客户提出要将查询结果导出到Excel。对于还是实习生的我倍感压力,于是找了点资料。网上有个示例,其中方法十分简单。于是照猫画虎,把方法和心得与大家分享。OK,Let`s go 第一步:   创

  • XML输入文件: XML输入文件转换为XML输出文件。将XML输入文件的firstName、middleName和lastName标签合并为XML Ouput文件的name标签,将XML输入文件的address1、address2、city、state和pincode标签合并为XML Ouput文件的address标签。 我几乎转换了代码,但我在这里与empId作斗争。我已经在XSLT文件中手动输

  • 问题内容: 我想使用xsl文件转换一些xml并以某种方式输出结果(我使用的是Android Api Level 8)。 我当前的活动看起来像这样,但是转换器保持为空。LogCat引发一个with ,表示xml格式不正确,但是我确定它是正确的。 我在LogCat中发现了一条提示,提示在上述错误消息之前。 我究竟做错了什么? 这是要转换的xml文件(source.xml) 这是对应的xsl(produ

  • 我想使用XSLT将一些XML转换为JSON。XML如下所示: 我希望JSON如下所示: 推荐的方法是什么? 我已经有了一个方法,它看起来不太好,因为它只适用于xslt 1.0(我认为)和文本块。请参阅此处:https://xsltfiddle.liberty-development.net/naZYrpy/1 我更喜欢使用xslt 3.0和xml to json函数的更有效方法,但似乎不可能添加额

  • 我试图使用xslt将xml中的特殊字符转换为其编码形式。 例子: 等等下面给出了我使用的代码 XML结构是 输出也应该包含xml节点,这就是为什么我在文本区域中使用xsl:拷贝而不是xsl: value-of。因为xsl: value-of Select="name"将只输出这是一个文件 我正在使用XSLT版本1。o 我想要的输出是

  • 我有以下问题。我不是XSLT方面最伟大的专家,我想成功的是将一个XML从赛贝斯转换为以下内容: Sybase的输出: 我希望它的输出标题保持原样,条目部分不同 这是到目前为止我的XSLT(对不起,不太可能) 也许,有人可以帮我实现我想要的。非常感谢你。