Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt丢失布局时生成的Html(BRs和Ps)_Html_Xslt - Fatal编程技术网

Xslt丢失布局时生成的Html(BRs和Ps)

Xslt丢失布局时生成的Html(BRs和Ps),html,xslt,Html,Xslt,我试图使用xslt在html中布局一些调试信息以供阅读。。。但碰巧所有的东西都只放在一条线上!?为了找出问题所在,我将问题最小化为: 可应用于任何虚拟xml文件的我的xlst: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html><

我试图使用xslt在html中布局一些调试信息以供阅读。。。但碰巧所有的东西都只放在一条线上!?为了找出问题所在,我将问题最小化为:

可应用于任何虚拟xml文件的我的xlst:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html><body><p>These<br/>words<br/>aren't<br/>seperated<br/>by<br/>BRs</body></html></xsl:template></xsl:stylesheet


这些
单词
不是由
BRs分隔的
使用XHTML作为默认名称空间,将默认样式表应用于p和br标记:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="html5.xml"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns="http://www.w3.org/1999/xhtml"
                >
<xsl:output method="xml" encoding="utf-8" version="" indent="yes" standalone="no" media-type="text/html" omit-xml-declaration="no" doctype-system="about:legacy-compat" />

<xsl:template match="xsl:stylesheet">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="/">
  <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    </head>
    <body>
      These<br/>words<br/>are<br/>seperated<br/>by<br/>BRs
    </body>
  </html>
</xsl:template>

</xsl:stylesheet>

这些
单词

br分隔

此自包含样式表在保存为html5.xml时可以工作。

使用XHTML作为默认名称空间,将默认样式表应用于p和br标记:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="html5.xml"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns="http://www.w3.org/1999/xhtml"
                >
<xsl:output method="xml" encoding="utf-8" version="" indent="yes" standalone="no" media-type="text/html" omit-xml-declaration="no" doctype-system="about:legacy-compat" />

<xsl:template match="xsl:stylesheet">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="/">
  <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    </head>
    <body>
      These<br/>words<br/>are<br/>seperated<br/>by<br/>BRs
    </body>
  </html>
</xsl:template>

</xsl:stylesheet>

这些
单词

br分隔

这个自包含的样式表在保存为html5.xml时可以工作。

没有考虑XSL中的xml错误,对于我来说,这些单词最终以
br
s分隔。哇,好地方。Stephane,当IE 9中的XSLT不起作用时,您如何使用它,只需在浏览器窗口中加载带有
的XML文档?还是使用一些代码来运行转换?如果是这样的话,代码看起来如何?Stephane,该代码的格式不正确,因此无法工作,它有一个未关闭的开头标记。因此,请将真正的代码或URL发布到我们可以访问的示例,该示例虽然不能按预期工作,但却是格式良好的XML。我安装了IE 9和FF,对我来说效果很好。你试过做
?您是否检查了结果页面的DOM,以查看br是否存在,但只是出于某种原因被呈现?试着用其他东西(

比如)替换

,看看问题是否与br有关。等等。等等。如果不考虑XSL中的XML错误,这些单词最终会被我用
br
s隔开。哇,好地方。Stephane,当IE 9中的XSLT不起作用时,您如何使用它,只需在浏览器窗口中加载带有
的XML文档?还是使用一些代码来运行转换?如果是这样的话,代码看起来如何?Stephane,该代码的格式不正确,因此无法工作,它有一个未关闭的开头标记。因此,请将真正的代码或URL发布到我们可以访问的示例,该示例虽然不能按预期工作,但却是格式良好的XML。我安装了IE 9和FF,对我来说效果很好。你试过做
?您是否检查了结果页面的DOM,以查看br是否存在,但只是出于某种原因被呈现?试着用其他东西(

比如)替换

,看看问题是否与br有关。等等等等。