[mayaa-dev:21] Re: 【提案】 attributeプロセッサにescapeXML属性を追加

suga ko.suga @ gmail.com
2006年 12月 29日 (金) 10:14:42 JST


suga です。

ちょっと順序を入れ換えています。

On 12/29/06, duran <duran.seasar @ gmail.com> wrote:
> # そもそもJavascriptの仕様として「&#39;」はOKなのでしょうか。
> # どう調べていいのか分かりませんでした・・・

JavaScript の仕様は関係なく、HTML のレンダリングで考えてください。
レンダリングされたものが JavaScript として解釈されるので、
極端な話、タグのボディや属性値の全部が &#xxxx; で書かれていても
問題ありません。
# CDATA は除外しますが


> 現状のattributeプロセッサでは上記のように記述すると、
> 「'」が「&#39;」とエスケープされます。
>
> エスケープされても動作しているのですが、
> このままでは気持ち悪いのでescapeXML属性を追加してはどうでしょうか?

シングルクォーテーションのエスケープは、元々は属性を name='aaa' の
ようにシングルクォーテーションで囲む書き方に対応することを考えての処理です。
が、Mayaa の場合は出力の組み立てに元の文字列を使わず、必ず
ダブルクォーテーションを使うようにしていますので、そもそもエスケープ
自体が不要です。

ですので、escapeXml を追加するよりも、そもそも全体的にシングル
クォーテーションをエスケープしないように変更する方が良いかもしれません。

escapeXml だと、内部で < や > を使いたいときに自前でエスケープしないと
いけませんしね。


# 以前 user-ML で触れられたときは「動作しない」ということだったので
# 「動作します」と答えて終わりでしたけど。

-- 
suga ( ko.suga @ gmail.com )


mayaa-dev メーリングリストの案内