gpt4 book ai didi

html - mozila 中的 XSLT 转换将 <!DOCTYPE> 标记视为纯文本并显示在网页上

转载 作者:行者123 更新时间:2023-11-27 23:35:44 25 4
gpt4 key购买 nike

同时做 XSLT transformation在浏览器端,Mozilla 正在处理 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">作为纯文本并将其作为第一行放在网页上,而 IE 正确显示输出

下面是重现此问题的 xml 和 xsl

文件名 - testdoctype.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="testxdoctype.xsl"?>
<MainHeader>
<ReportType Label="report type">Test</ReportType>
</MainHeader>

文件名 - testdoctype.xsl

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1"/>
<xsl:template match="/">

<xsl:text disable-output-escaping="yes">
<![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
]]>
</xsl:text>

<div id="body">
<h1>REPORTS : <xsl:value-of select="./MainHeader/ReportType"/></h1>
</div>

</xsl:template>
</xsl:stylesheet>

来自 IE 和 Mozila 的附加输出图像 enter image description here

enter image description here

除了服务器端 XSLT 转换之外,是否有任何解决此问题的帮助?

最佳答案

按照设计使用 XSLT,通过 xsl:output 指令定义您想要的任何 doctype-public 和/或 doctype-system。 Mozilla 浏览器中的 XSLT 处理器不支持禁用输出转义,因为它不序列化转换结果,而是呈现结果树。查看常见问题 https://developer.mozilla.org/en/docs/XSL_Transformations_in_Mozilla_FAQ#Can_I_do_disable-output-escaping.3F .

关于html - mozila 中的 XSLT 转换将 &lt;!DOCTYPE> 标记视为纯文本并显示在网页上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33916013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com