1

xslt を使用して html で読み取るためのデバッグ情報をレイアウトしようとしていました...しかし、たまたますべてが 1 行にしか配置されていません!? 何が問題なのかを理解しようとして、問題を次のように最小限に抑えました。

任意のダミー 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 なしで 1 行だけになっています。私がやっている明らかなエラーはありますか?

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 に答える