ページ 11

【TIPS】出力されたHTMLコードに余分なインデント・改行が入った時の対処法

Posted: 2005年10月08日(土) 22:30
by sasai
デザイン定義のxslファイルでコードを記述する時に、
インデントや改行を入れなくても、
出力結果(phpファイル)に忠実に反映されず、
勝手にインデント・改行が挿入されることがあります。

どのような規則でインデント・改行が挿入されるかは、
サーバ側のXSLTプロセッサ次第で、まちまちのようです。

ですが、インデントや改行が勝手に入ってしまうと、ページのレイアウトに、
影響が出る場合があると思います。
(例:TABLEで組んだHTMLページなど)

そこで、強制的にインデント・改行をOFFにするTIPSです。

xsl:output のパラメータで、indent=("yes|no") というものがあります。
これを、no に指定する。
つまり、デザイン定義ファイルの、

コード: 全て選択

<xsl:output method="html" encoding="EUC-JP" omit-xml-declaration="yes" />
を、

コード: 全て選択

<xsl:output method="html" encoding="EUC-JP" omit-xml-declaration="yes" indent="no" />
とすると、出力コードから改行が取り除かれます。

※インデントや改行に影響されるコードを書くべきではないというツッコミは、
とりあえず横に置いておいて。 :wink:


参考ページ
XMLをIEで表示(基礎編) xsl:output
http://www.cityfujisawa.ne.jp/~yanai/xm ... tep22.html

Re: 【TIPS】出力されたHTMLコードに余分なインデント・改行が入った時の対処法

Posted: 2005年10月08日(土) 23:25
by webmaster
 webmasterです。
 素晴らしい情報をありがとうございます。

 これは使えそうです。同じような症状に悩んでいる方がいらっしゃいましたら、
ぜひお試し下さい。

 機会を見て、マニュアルの方にも記載させて頂こうと思います。