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

输出XML中的Saxon换行问题

公羊安怡
2023-03-14

我使用Saxon HE9.5作为XSLT处理器。由于源是一个大尺寸的XML,我需要最小化输出的大小。但是,使用Saxon他将在每个元素标记之间添加换行符。如下面的示例:

 <Element1>
   <attr1>
    test1
   </attr1>
 </Element1>
<Element1> <attr1> test1 </attr1> </Element1>

共有1个答案

濮阳原
2023-03-14

可以使用 关闭缩进,但包含文本的元素中的换行符仍然存在(即使使用 )。可以使用normalize-space()删除它们。

示例...

XML输入

<Element1>
    <attr1>
        test1
    </attr1>
</Element1>

XSLT 2.0(也与1.0一样工作)

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output indent="no"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|*|processing-instruction()|comment()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="text()">
        <xsl:value-of select="normalize-space(.)"/>
    </xsl:template>

</xsl:stylesheet>

XML输出

<Element1><attr1>test1</attr1></Element1>
 类似资料:
  • 对于Saxon-HE9.6,有没有办法在多个匹配节点上获得换行分隔的输出? 我使用这个名为的包装器: 示例: 我通过搜索google发现了一个半有效的解决方案,几乎不是Michael Kay提出的,所以我写了这个包装器: 但我发现的问题是当我使用路径 我有错误 或

  • 我尝试使用jdom2更新现有XML文件中的一些属性值。创建xml文件时,我遇到了utf8编码问题。 属性值为 但我在输出中看到的值是: 我编写的代码如下所示: 我已经使用了这两个选项: 和 但这些问题都没有得到解决。如何解决这个问题?

  • 问题内容: 我有一个要查看的列,其中包含带有换行符的字符串。我希望能够显式查看这些字符串中的和字符。有什么方法可以编写我的SQL查询,以告诉它输出带有换行符的字符串? 问题答案:

  • 问题内容: 我有具有以下结构的Java类(类名并不表示任何东西,我只是在组成它们)。 整理测试实例时,JAXB生成的XML输出是我遇到的问题。XML输出将始终如下所示: 如您所见,某些元素没有正确缩进(即,最深的元素,计数和句点)。这是为什么?我创建JAXB上下文的方式有问题吗?还是JAXB可以递归缩进多少元素有最大限制?我该如何解决?请注意,我也已将JAXB_FORMATTED_OUTPUT设置

  • 问题内容: 我需要将Opencover Coverage结果导入Jenkins的能力,以便随着时间的推移提取Coverage趋势数据。似乎最好的方法是找到一种方法,将opencover xml格式转换为ncover格式,然后使用NCover插件导入结果。是否存在将xpress将opencover转换为ncover的现有xslt,或将进行转换的开源工具?我已经搜索过,却一无所获。 谢谢 问题答案:

  • 在使用Saxon将多个输入文件从hocr转换为alto xml(每个输入文件都需要一个xml输出)时遇到困难,我可以一次转换一个文件,但当我尝试对多个文件使用collection()命令时,会收到错误消息“Source file collection('file:\c:?select=*(hocr))不存在”。所以我知道我使用的路径有问题,但不确定在这种情况下正确使用collection()应该是