0
似乎除IE之外的所有瀏覽器在使用Javascript進行XSLT轉換時都省略了xml聲明 - 即使樣式表在輸出標籤中指定不應該省略xml聲明。JavaScript XSLT轉換省略了xml聲明
有沒有辦法來防止這種情況發生?
似乎除IE之外的所有瀏覽器在使用Javascript進行XSLT轉換時都省略了xml聲明 - 即使樣式表在輸出標籤中指定不應該省略xml聲明。JavaScript XSLT轉換省略了xml聲明
有沒有辦法來防止這種情況發生?
下面是與Firefox輸出XML聲明我測試用例:
var xmlDoc = new DOMParser().parseFromString('<root>foo</root>', 'application/xml');
var xslDoc = new DOMParser().parseFromString([
'<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">',
'<xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="no"/>',
'<xsl:template match="/"><xsl:copy-of select="."/></xsl:template>',
'</xsl:stylesheet>'].join('\n'), 'application/xml');
var xsltProc = new XSLTProcessor();
xsltProc.importStylesheet(xslDoc);
var resultDoc = xsltProc.transformToDocument(xmlDoc);
var serializedXml = new XMLSerializer().serializeToString(resultDoc);
console.log(serializedXml);
var pre = document.createElement('pre');
pre.textContent = serializedXml;
document.body.appendChild(pre);
是的,它只適用於Firefox。它不適用於Safari,Chrome或Opera ... –
爲什麼您相關的聲明? –