XML でも、条件付きコメントが使えることが判明。
話題:XSLスタイルシートにおける、条件付コメント (Conditional Comment) の扱いについて。
標準仕様に対応していない、IE6 周辺を、条件分岐するのに、IE の独自仕様である「条件付きコメント」を使う事が多いが、これを、XML → XSLスタイルシート → HTML でも使ってしまおう、という話。
(参考)条件付コメント (Conditional Comment≒略してCC)
以下の例は、IE5.5 ≦ x < IE7 の場合。有名なバグ「IE5.5を指定する時は、『IE5.5000』としなければいけない」に対応している。
<xsl:comment><![CDATA[[if(gte IE 5.5000)&(lt IE 7)]>
<script type="text/javascript" src="../js/ieonly.js"></script>
<link rel="stylesheet" type="text/css" media="screen" href="ieonly.css" />
<![endif]]]></xsl:comment>
IE6.0/IE7.0/IE8.0 で試した実験では、<xsl:comment> の直後に、改行を入れても動作したが、元々の条件付コメントが、<!-- と [if IE]> の間に空白を許さないので(以下)、
<!--[if IE 5.0000]> 〜 <![endif]-->
<xsl:comment><![CDATA[[if(gte IE 5.5000)&(lt IE 7)]>
(ここに書きたいタグ)
<![endif]]]></xsl:comment>
の様に、連続して1行で書いた方が、後のブラウザーにバグが発生しても、後で困らない感じがする。
標準仕様に対応していない、IE6 周辺を、条件分岐するのに、IE の独自仕様である「条件付きコメント」を使う事が多いが、これを、XML → XSLスタイルシート → HTML でも使ってしまおう、という話。
(参考)条件付コメント (Conditional Comment≒略してCC)
以下の例は、IE5.5 ≦ x < IE7 の場合。有名なバグ「IE5.5を指定する時は、『IE5.5000』としなければいけない」に対応している。
<xsl:comment><![CDATA[[if(gte IE 5.5000)&(lt IE 7)]>
<script type="text/javascript" src="../js/ieonly.js"></script>
<link rel="stylesheet" type="text/css" media="screen" href="ieonly.css" />
<![endif]]]></xsl:comment>
IE6.0/IE7.0/IE8.0 で試した実験では、<xsl:comment> の直後に、改行を入れても動作したが、元々の条件付コメントが、<!-- と [if IE]> の間に空白を許さないので(以下)、
<!--[if IE 5.0000]> 〜 <![endif]-->
<xsl:comment><![CDATA[[if(gte IE 5.5000)&(lt IE 7)]>
(ここに書きたいタグ)
<![endif]]]></xsl:comment>
の様に、連続して1行で書いた方が、後のブラウザーにバグが発生しても、後で困らない感じがする。

