ブラウザで表示できませんというエラーが出ます
Posted: 2007年7月19日(木) 11:54
こんにちは。いつもお世話になっております。
xsl:if で条件を指定したらエラーがでるのではなく、
ページが表示されない状態になってしまいました。
自分ではどの記述のせいなのか見当がつかないので
アドバイスお願いいたします。
全体だと長いので直接関係ある部分のみ記載いたしますが
画像が2点、テキストエリアが1件あり
テキストエリアはhtml1に指定してあります。
【スキーマ】
【xsl】(エントリの記述です)
このように記述すると、いつもの上に出てくるエラーが表示されるのではなく
ブラウザのエラー画面「このプログラムではこの Web ページを表示できません」
と出てきてしまいました。
ブラウザはIE7なので、そのせいかなとも思ったのですが
ネットスケープで開いた場合はエントリリストからエントリページへのリンクをクリックすると何も開かない状態になりました。(もちろん元々はクリックすればエントリページが開いていました)
当初は、画像のどちらかあれば、と言う記述をしていたので条件式を
<xsl:if test="faimg01/text() or faimg02/text()">
と書いていたのですが、途中でテキストエリアだけ登録する場合もあることに
気がついて上記のように
<xsl:if test="faimg01/text() or faimg02/text() or fatxt01/text()">
と変更したのですが、xslファイルをアップして表示を確認しようとしたら
ブラウザエラーが出てしまいました。
もとの条件式に戻したら普通に表示されるようになったので
原因はやはりこの部分だとは思うんですが、書き方自体はあっているようにみえるのでどうしてよいのか・・・
ちなみに、html1だからいけないのかと思って
outputの記述と、 disable-output-escaping="yes"の記述を消した場合
<xsl:if test="faimg01/text() or faimg02/text() or fatxt01/text()">
この条件式でも問題なく表示されました。
ケアレスミスなのかもしれませんが、自分ではどこがおかしいのかわからず
困っております。アドバイスよろしくお願いいたします。
xsl:if で条件を指定したらエラーがでるのではなく、
ページが表示されない状態になってしまいました。
自分ではどの記述のせいなのか見当がつかないので
アドバイスお願いいたします。
全体だと長いので直接関係ある部分のみ記載いたしますが
画像が2点、テキストエリアが1件あり
テキストエリアはhtml1に指定してあります。
【スキーマ】
コード: 全て選択
<data name="faimg01" type="img" width="260" heigth="195" caption="追加画像 基本サイズ:横260px × 縦195px" />
<data name="faimg02" type="img" width="260" heigth="195" caption="追加画像 基本サイズ:横260px × 縦195px" />
<data name="fatxt01" type="textarea" rows="20" cols="60" caption="追加説明文※タグ使用可能" output="html1" />
コード: 全て選択
<xsl:if test="faimg01/text() or faimg02/text() or fatxt01/text()">
<div class="freearea01">
<xsl:if test="faimg01/text()">
<img src="../{faimg01}" alt="" width="{faimg01/@width}" height="{faimg01/@height}" class="mr30" />
</xsl:if>
<xsl:if test="faimg02/text()">
<img src="../{faimg02}" alt="" width="{faimg02/@width}" height="{faimg02/@height}" />
</xsl:if>
<br />
<xsl:value-of select="fatxt01" disable-output-escaping="yes" />
</div>
</xsl:if>
ブラウザのエラー画面「このプログラムではこの Web ページを表示できません」
と出てきてしまいました。
ブラウザはIE7なので、そのせいかなとも思ったのですが
ネットスケープで開いた場合はエントリリストからエントリページへのリンクをクリックすると何も開かない状態になりました。(もちろん元々はクリックすればエントリページが開いていました)
当初は、画像のどちらかあれば、と言う記述をしていたので条件式を
<xsl:if test="faimg01/text() or faimg02/text()">
と書いていたのですが、途中でテキストエリアだけ登録する場合もあることに
気がついて上記のように
<xsl:if test="faimg01/text() or faimg02/text() or fatxt01/text()">
と変更したのですが、xslファイルをアップして表示を確認しようとしたら
ブラウザエラーが出てしまいました。
もとの条件式に戻したら普通に表示されるようになったので
原因はやはりこの部分だとは思うんですが、書き方自体はあっているようにみえるのでどうしてよいのか・・・
ちなみに、html1だからいけないのかと思って
outputの記述と、 disable-output-escaping="yes"の記述を消した場合
<xsl:if test="faimg01/text() or faimg02/text() or fatxt01/text()">
この条件式でも問題なく表示されました。
ケアレスミスなのかもしれませんが、自分ではどこがおかしいのかわからず
困っております。アドバイスよろしくお願いいたします。