Javascript Xslt将节点的字母更改为小写

Javascript Xslt将节点的字母更改为小写,javascript,xml,xslt,Javascript,Xml,Xslt,我想使用xslt从Xml创建KML代码 问题是xslt将节点的所有字母都更改为小写 这是我的密码: <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:for-each sele

我想使用xslt从Xml创建KML代码 问题是xslt将节点的所有字母都更改为小写 这是我的密码:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <xsl:for-each select="tasks/task">
        <kml >
            <Placemark>
                <name><xsl:value-of select="title"/></name>
                <description>
                    <xsl:value-of select="abilities"/>
                </description>
                <Point><coordinates><xsl:value-of select="geotag"/></coordinates></Point>
            </Placemark>
        </kml>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>
我如何处理那个问题?
提前感谢。

如果您将此文档作为文本/html而不是应用程序/xhtml+xml提供,则innerHTML将使用html解析器,该解析器(大部分)不区分大小写,因此不一定保留元素名称。您可以将文档作为XHTML(如果格式正确)提供,也可以从javascript显式调用xml解析器来解析XSLT脚本。

您需要更改

xsltProcessor.transformToFragment(xml,文档)

进入

xsltProcessor.transformToDocument(xml)


这消除了对“拥有”文档的依赖。对我来说,这解决了一个非常类似的问题。

我从未听说过这样的问题。您的输入XML是什么样子的?小写字母是否可能是因为我正在读取div.innerHTML中的字符串?谢谢您的回答。我应该在创建div时设置内容“application/xhtml+xml”吗?因为我在文档上更改了它,但没有起作用:最好是在服务器上设置它,实际上,更改它会改变整个文档的解释,直接访问xml解析器是一个干扰较小的更改。谢谢,对我来说,这是更好的答案。
var xsltTasksAsKml = xsltProcessor.transformToFragment(xml, document);
var div = document.createElement('div');
div.appendChild(xsltTasksAsKml);
alert(div.innerHTML);