コメントはパーサーによって XSL 内のコメントとして認識され、生成された HTML コードから削除されます。
HTML にコメントを生成する場合は、コメントをブロック内に囲む必要があります。CDATA
これにより、XSL パーサーによってプレーン テキストとして認識され、目的のドキュメントに逐語的にコピーされます。
コードは次のようになります。
<![CDATA[
<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" href="/rcm/verisign/style/2012/ie7.css"/>
<![endif]-->
]]>
<![CDATA[
との間のすべてが]]>
プレーン テキストとして扱われます。
うまくいけば、それはあなたの質問に答えるはずです.
ただし、可能であれば、ここでの最善の解決策は IE7 のサポートを中止することです。使用状況の統計は、過去 6 か月ほどで大幅に低下しました。現在は IE6 とほぼ同じくらい低くなっています。まだ使っている人はほとんどいません。選択肢がない場合もあると思いますが、選択肢がある場合は、やめることをお勧めします。
[編集]
わかりました、さらに調査した結果、あなたが正しいようです。プレーンなCDATA
ブロックはその出力をエスケープします (多くの場所で反対の主張があるにもかかわらず)。
<xsl:comment>
代わりに、出力で HTML コメントを生成するために を使用する必要があります。条件付きコメント構文でこれを行うと非常に面倒になり、おそらくまだ CDATA を使用する必要があります。
私が見つけることができる最良の例はここにあります: http://getsymphony.com/download/xslt-utilities/view/21798/
ご覧のとおり、非常に多くのコードです。
短いバージョン (柔軟性なし) は次のようになります。
<xsl:comment>
[if lte 7<![CDATA[>]]>
<link rel="stylesheet" type="text/css" href="/rcm/verisign/style/2012/ie7.css"/>
<![CDATA[<![endif]]]>
</xsl:comment>
それが役立つことを願っています。申し訳ありませんが、元の回答は不完全でした。