【问题标题】:XSLT output method "xml" not showing html tags as html ouputXSLT 输出方法“xml”未将 html 标记显示为 html 输出
【发布时间】:2019-05-30 12:23:55
【问题描述】:

在 xsltransform 场景中,我们有如下声明的 xsl:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0" xmlns="http://www.w3.org/TR/REC-html40">

 

 <xsl:output method="xml" />

XML 有数据,但 xsl 有 &lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; 与 xslt 逻辑内联。

问题:在 Chrome 浏览器中检查时会显示表格标记,但网页上仅显示表格中的文本(html 输出),但不会呈现为表格。

当设置&lt;xsl:output method="html" /&gt;时,整个数据以没有&lt;table&gt;标签的文本形式出现。

关于这个问题的任何线索?

【问题讨论】:

  • Chrome 是否应用 XSLT?还是您在浏览器之外运行它?请提供 XSLT、XML、想要的输出(是混合命名空间的任意 XML 与一些 XHTML 表或一个简单而完整的 XHTML 文档)和您当前获得的结果文档的最小但完整的示例。

标签: xml xslt


【解决方案1】:

XHTML 命名空间是您在问题的第一个版本中使用的命名空间,现在您已将其更改为使用命名空间 http://www.w3.org/TR/REC-html40,这在 X(HT)ML 中是任何浏览器都无法识别的,因为它没有 W3C定义的意思。因此,命名空间http://www.w3.org/TR/REC-html40 中的table 元素只是浏览器未知的命名空间中的元素,因此当然不会以HTML 语义呈现。将 XHTML 命名空间 http://www.w3.org/1999/xhtml 用于 XML 中您希望被识别为 XHTML 元素的任何元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    相关资源
    最近更新 更多