在XSLT转换而不是单引号之后,双引号出现在XML声明中

时间:2017-06-27 16:08:07

标签: xml xslt

在我的java程序中,我使用下面的XSLT代码转换xmls:

`

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="*[descendant::text() or descendant-or-self::*/@*[string()]]">
    <xsl:copy>
        <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="@*[string()]">
    <xsl:copy/>
</xsl:template>

</xsl:stylesheet>

`

这正在正确执行所需的转换,但是它通过插入双引号<?xml version="1.0" encoding="UTF-8"?>而不是原始单引号<?xml version='1.0' encoding='UTF-8'?>来更改XML声明 我想知道如何在格式化的xmls中保留这些单引号!

1 个答案:

答案 0 :(得分:2)

XSLT处理器通常不提供对其结果序列化程序使用的引号的控制。

但无论如何,差异在XML中无关紧要。 XML处理器,工具和库不关心'"周围的属性值,也不关心。