1

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

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

<?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,一切都在一条线上。我在做什么明显的错误?

是否可能是由于 Internet Explorer 9。

4

1 回答 1

1

使用 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>

这个独立的样式表在保存为 html5.xml 时有效。

于 2012-06-26T07:22:50.827 回答