XSLT输出方法“ xml”未将html标签显示为html输出

时间:2019-05-30 12:23:55

标签: xml xslt

在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的<table><tr><td></td></tr></table>与xslt逻辑交错。

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

设置<xsl:output method="html" />时,整个数据以文本形式显示,没有<table>标签。

有关此问题的任何线索吗?

1 个答案:

答案 0 :(得分:1)

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