Мне нужно вывести предварительно проверенный XML в таблицу HTML.Я использую этот синтаксический анализатор во фрагменте, который отлично работает на Chrome, но не работает на FF.
var prettifyXml = function(sourceXml) {
var xmlDoc = new DOMParser().parseFromString(sourceXml, 'application/xml');
var xsltDoc = new DOMParser().parseFromString([
// describes how we want to modify the XML - indent everything
'<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">',
' <xsl:strip-space elements="*"/>',
' <xsl:template match="para[content-style][not(text())]">', // change to just text() to strip space in text nodes
' <xsl:value-of select="normalize-space(.)"/>',
' </xsl:template>',
' <xsl:template match="node()|@*">',
' <xsl:copy><xsl:apply-templates select="node()|@*"/></xsl:copy>',
' </xsl:template>',
' <xsl:output indent="yes"/>',
'</xsl:stylesheet>',
].join('\n'), 'text/xml');
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsltDoc);
var resultDoc = xsltProcessor.transformToDocument(xmlDoc);
var resultXml = new XMLSerializer().serializeToString(resultDoc);
return resultXml;
};
var prettyXml = prettifyXml('<root><node/></root>');
document.querySelector('.output-holder').value = prettyXml;
<body>
<div>Pretty XML output follows...</div>
<textarea class="output-holder" rows="10" cols="30"></textarea>
</body>
Не могли бы вы, ребята, помочь мне?Спасибо.
Редактировать: Это желаемый результат (работает на Chrome):
<root>
<node/>
</root>
Это вывод в Firefox:
<root><node/></root>