在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>
标签。
有关此问题的任何线索吗?
答案 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中的任何元素。