Xml 如何防止XSL删除字符?

Xml 如何防止XSL删除字符?,xml,xslt,Xml,Xslt,我使用XSLT将一种格式的XML转换为另一种格式的XML(不同名称的元素、属性),但保留数据。数据包含大量转义的非ASCII字符,如é;或&复制;我想在输出中保留这一点。(它正在被送入另一个系统,该系统只接受转义字符。) 以下是一个具有代表性的示例: avant de croî;前联合国dip和ocirc的汽车制造商;在蜂巢里的一种类型。艾库特酒店;dans l&apos的安置;r&E临时空间站;区域 我的问题是,当我运行XSL时(在Altova XMLSpy中,如果它起作

我使用XSLT将一种格式的XML转换为另一种格式的XML(不同名称的元素、属性),但保留数据。数据包含大量转义的非ASCII字符,如é;或&复制;我想在输出中保留这一点。(它正在被送入另一个系统,该系统只接受转义字符。)

以下是一个具有代表性的示例:

avant de croî;前联合国dip和ocirc的汽车制造商;在蜂巢里的一种类型。艾库特酒店;dans l&apos的安置;r&E临时空间站;区域

我的问题是,当我运行XSL时(在Altova XMLSpy中,如果它起作用的话),输出会变为

汽车的前卫,以及以前在汽车上使用的车型。地方空间和区域临时安置

(标记转换是正确的。)

我的XSL是

<xsl:template match="para">
    <xsl:element name="p" xmlns="http://jats.nlm.nih.gov">
        <xsl:apply-templates/>
    </xsl:element>
</xsl:template>

<xsl:template match="i">
    <xsl:element name="italic" xmlns="http://jats.nlm.nih.gov">
        <xsl:apply-templates />
    </xsl:element>
</xsl:template>

(如果这不好,我道歉。我是新手。)


如何让XSL准确地复制所显示的文本,而不必删除字符,还要查看节点的“内部”以转换任何子元素,如

没有纯XSLT方法来保留字符引用,如果希望输出对某些字符使用字符引用,那么使用XSLT 2,如果Altova支持,您可以设置一个角色映射,将每个角色映射到其引用。请参阅。对于XML输出,XSL的目的是保留含义,而不是格式。