From: Martin Duerst Date: 2008-10-21T18:30:57+09:00 Subject: [ruby-dev:36843] 属性値のための xml: :attr At 17:31 08/10/21, Tanaka Akira wrote: >xml: :attr を適用した結果を属性値全体として使用するのがお薦 >めです。 先ず、これは用語の問題だけかもしれませんが、 属性値は引用部の中のもので、引用符を含みません。 irb(main):001:0> s = "&\"'<>\uabcd" => "&\"'<>\xEA\xAF\x8D" irb(main):002:0> s.encode("US-ASCII"), xml: :attr) => "\"&"'<>ꯍ\"" irb(main):003:0> s.encode("US-ASCII"), xml: :text) => "&\"'<>ꯍ" 変換のついでに引用符を付けることが便利というときもあるかと思いますが、 (1) xml: :text と xml: :attr で振る舞いが違うと、 (2) 属性値の一部だけを文字コード変換しないといけない場合には どうしたらいいのか という二つのことを考えると、xml: :attr の時に結果を "&"'<>ꯍ" にすべきではないかと思います。(1) は田中さんが説明した Ruby の 「必ずしも一貫性を最優先にしない」ので無視できるかもしれませんが、 (2) 番の時にはどうすればいいのでしょうか。 宜しくお願いします。 Martin. #-#-# Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University #-#-# http://www.sw.it.aoyama.ac.jp mailto:duerst@it.aoyama.ac.jp