Xml 使用XSLT转换XSLT时保留实体引用
我想用XSLT转换一些XSLT文件以获得新的XSLT文件,这实际上工作得很好。只有一个函数提供了问题:如果我复制/甚至尝试手动构建此函数Xml 使用XSLT转换XSLT时保留实体引用,xml,xslt,xslt-2.0,Xml,Xslt,Xslt 2.0,我想用XSLT转换一些XSLT文件以获得新的XSLT文件,这实际上工作得很好。只有一个函数提供了问题:如果我复制/甚至尝试手动构建此函数 <xsl:function name="mr:get_xmlname"> <xsl:param name="name"/> <xsl:value-of select="replace($name,'[^A-Z|_|a-z|À-Ö|Ø-&
<xsl:function name="mr:get_xmlname">
<xsl:param name="name"/>
<xsl:value-of
select="replace($name,'[^A-Z|_|a-z|À-Ö|Ø-ö|ø-˿|Ͱ-ͽ|Ϳ-῿|‌-‍|⁰-↏|Ⰰ-⿯|、-퟿|豈-﷏|ﷰ-�|𐀀-|\-|\.|0-9|·|̀-ͯ|‿-⁀]','_')"
/>
</xsl:function>
我最后总是会
尝试
,这将强制所有非ASCII字符使用十六进制或十进制字符引用进行序列化,无论它们是否以这种方式开始使用。我认为没有办法在XML输入文档中保留字符引用。如果要确保在XSLT转换的结果中将这些字符序列化为字符引用,则需要定义字符映射。非常感谢您的快速帮助,“Windows-1252”是最终解决问题的编码输出,因为某些注释中包含一些非ascii字符