[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の仕様として「'」はOKなのでしょうか。
> # どう調べていいのか分かりませんでした・・・
JavaScript の仕様は関係なく、HTML のレンダリングで考えてください。
レンダリングされたものが JavaScript として解釈されるので、
極端な話、タグのボディや属性値の全部が &#xxxx; で書かれていても
問題ありません。
# CDATA は除外しますが
> 現状のattributeプロセッサでは上記のように記述すると、
> 「'」が「'」とエスケープされます。
>
> エスケープされても動作しているのですが、
> このままでは気持ち悪いのでescapeXML属性を追加してはどうでしょうか?
シングルクォーテーションのエスケープは、元々は属性を name='aaa' の
ようにシングルクォーテーションで囲む書き方に対応することを考えての処理です。
が、Mayaa の場合は出力の組み立てに元の文字列を使わず、必ず
ダブルクォーテーションを使うようにしていますので、そもそもエスケープ
自体が不要です。
ですので、escapeXml を追加するよりも、そもそも全体的にシングル
クォーテーションをエスケープしないように変更する方が良いかもしれません。
escapeXml だと、内部で < や > を使いたいときに自前でエスケープしないと
いけませんしね。
# 以前 user-ML で触れられたときは「動作しない」ということだったので
# 「動作します」と答えて終わりでしたけど。
--
suga ( ko.suga @ gmail.com )
mayaa-dev メーリングリストの案内