Operaがp
タグを分割すべきでない場所で分割することに問題があります。
XMLの例を次に示します。
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="temp.xsl"?>
<data>
<item name="car">
<summary>It goes by land.</summary>
</item>
<item name="plane">
<summary>It simply flies.</summary>
</item>
</data>
XSLは次のとおりです。
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/data">
<html>
<link rel="stylesheet" type="text/css" href="temp.css"/>
<body>
<xsl:for-each select="item">
<h1><xsl:value-of select="@name"/></h1>
<xsl:if test="count(summary)>0">
<p class="summary"><xsl:copy-of select="summary" /></p>
</xsl:if>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
およびCSS:
body {
font-size:14px; text-align:center; width:400px; margin:0 auto; font-family:Verdana;
}
h1 {
color: #231F20; font-size: 1.2em;
}
.summary {
text-align: justify; padding: 1em; background-color: #F0F4F8;
border-left: 1px solid #BBB; border-right: 1px solid #BBB;
}
IE9でこれを実行すると、次のようになります。
IE9は本体の幅を尊重しませんでしたが、それは重要ではありません。XSLTはデータを正しく変換しました。summary
xmlタグは、。のp
付いたタグの間に配置されclass="summary"
ます。
しかし、これをOpera 12で実行すると、次のようになります。
ご覧のとおり、幅は尊重されていますが、p
タグは2つに分割され、summary
その間にタグが挿入されています。これは、Operaのインスペクターで確認できます。
タグに、、、、などのタグが含まれていることを期待しているため、copy-of
の代わりに使用する必要があります。value-of
<summary>
html
b
i
span
Operaがp
タグを2つの空のタグに分割しsummary
、それらの間に挿入するのはなぜですか?そして、これを回避して、タグの内容をsummary
タグ内に配置できるようにするにはどうすればp
よいですか?