デザイン(XSLT)がどうも反映されていないように見える
Posted: 2005年3月01日(火) 16:49
webmasterです。
サーバー環境によっては、エラーは出ないが、どうみてもXSLのデザインが
反映されておらず、文章だけが出力されているようにしか見えないという事象が
発生することがたまにあるようです。
現在、CMSDはXSLTエンジンとして「Sabloton」と「domxml」のどちらかを
自動判別して使っているのですが、サーバによってはどちらかではうまく動いて
どちらかでは動かない、という状況もあるようです。
さらには、domxmlを使う場合でも、古い関数を使った場合はうまくいったり、
新しい関数を使うとうまくいったりするサーバーも存在するようで、すでに自動判別
が困難な状況です。
そこで、サーバーに合わせてXSLTエンジンの使い方を選択できるように
しました。
http://cms.al-design.jp/downloads/cmsd_pre_1_0_0b_1.zip
こちらのファイルを解凍して、
・xmlutil.php.inc
・xmlconfig.php.inc
を、/include フォルダにアップロードしてください。
xmlconfig.php.incを開いて編集すると、XSLTライブラリの種類を指定
することができます。
$gXsltLib に、
0: 自動選択
10: Sablotonを使用
20: domxmlを使用
21: domxmlの古い関数を使用
のいずれかを指定してください(初期値は0です)。
xrea.comレンタルサーバでは、どの指定でもうまくいくサーバと、
21でないとうまくいかないサーバがありました。
サーバだけでなく、XSLの複雑さや変換対象のエントリの内容によっても
相性があるのかもしれません。
詳しい事がわかったらまたご連絡しますが、まずは上記のファイルを
使ってみてください。
尚、この修正は次のバージョンアップに含まれる予定です。
サーバー環境によっては、エラーは出ないが、どうみてもXSLのデザインが
反映されておらず、文章だけが出力されているようにしか見えないという事象が
発生することがたまにあるようです。
現在、CMSDはXSLTエンジンとして「Sabloton」と「domxml」のどちらかを
自動判別して使っているのですが、サーバによってはどちらかではうまく動いて
どちらかでは動かない、という状況もあるようです。
さらには、domxmlを使う場合でも、古い関数を使った場合はうまくいったり、
新しい関数を使うとうまくいったりするサーバーも存在するようで、すでに自動判別
が困難な状況です。
そこで、サーバーに合わせてXSLTエンジンの使い方を選択できるように
しました。
http://cms.al-design.jp/downloads/cmsd_pre_1_0_0b_1.zip
こちらのファイルを解凍して、
・xmlutil.php.inc
・xmlconfig.php.inc
を、/include フォルダにアップロードしてください。
xmlconfig.php.incを開いて編集すると、XSLTライブラリの種類を指定
することができます。
$gXsltLib に、
0: 自動選択
10: Sablotonを使用
20: domxmlを使用
21: domxmlの古い関数を使用
のいずれかを指定してください(初期値は0です)。
xrea.comレンタルサーバでは、どの指定でもうまくいくサーバと、
21でないとうまくいかないサーバがありました。
サーバだけでなく、XSLの複雑さや変換対象のエントリの内容によっても
相性があるのかもしれません。
詳しい事がわかったらまたご連絡しますが、まずは上記のファイルを
使ってみてください。
尚、この修正は次のバージョンアップに含まれる予定です。