none
ユーザ設定のリストフォームでの複数行テキスト(書式なし)にてエスケープ処理が正しく行われない RRS feed

  • 質問

  • ユーザ設定のリストフォームでの複数行テキスト(書式なし)にてエスケープ処理が正しく行われない

    MOSS2007 SP2、SQLServer2005(OSはwin2003)の環境です。
    1点質問があります。

    SPDで表示フォーム(DispForm.aspx)をカスタマイズした場合、
    複数行テキスト(書式なし)のエスケープ処理が正しく行われません。

    具体的には

    <br> → &lt;br&gt;

    となって欲しいのですが、

    <br> → &amp;lt;br&amp;gt;

    とHTML出力されてしまいます。

    (「&lt;」の「&」が特殊文字とみなされて「&amp;」に変換されているようです。。。)

    コードは以下のとおりです。

    <xsl:value-of disable-output-escaping="yes" select="ddwrt:AutoNewLine(string(@Data))"/>

    ※@Dataがフィールド名です。
    ※改行対応のため、AutoNewLine関数を使用しています。

    (複数行テキストは「書式なし」の列です)
    (1行テキストの場合は、「AutoNewLine」関数を使用しておらず
     問題なくエスケープ処理されます。)


    ##SPDで表示フォーム(DispForm.aspx)をカスタマイズした
    複数行テキスト(書式なし)のエスケープ処理方法をご存知の方がいらっしゃいましたら
    ご教授いただけますでしょうか?

    また、同じような現象が発生していた場合、その対処方法を
    ご存知の方いらっしゃいましたらご回答いただけると大変助かります。

    よろしくお願いいたします。

    2010年10月4日 15:07