[Gauche-devel-jp] Re: SXMLで属性値文字列にアポストロフィが含まれる場合の変換処理

Back to archive index

Shiro Kawai shiro****@lava*****
2004年 8月 27日 (金) 11:06:29 JST


あ、こちらのミスです。関数名としてはhtml-encodeではなくて
html-escapeですね。混乱させてしまいました。

From: katsutoshi ito <itou.****@rens*****>
Subject: [Gauche-devel-jp] Re: SXMLで属性値文字列にアポストロフィが含まれる場合の変換処理
Date: Fri, 27 Aug 2004 10:42:27 +0900

> 「cgi の場合は受取るのが html でない」という一文の意味に確信が持ててないです。
> これは cgi は HTML 文書(タグのついているアレ)でデータを受取らず、
> GET リクエストなら環境変数 QUERY_STRING に"?var=val&var2=val2" が渡り、
>  POST リクエストなら標準入力から読んだ時点で "var=val&var2=val2" と
> いった値で受取る?ということを指しておられますか?

そういうことです。現在の文脈ではデータフォーマットの話をしています。
cgiが受け取るのは、mime-typeで言えば text/html ではなく、
application/x-www-urlencoded もしくは multipart/form-data
である、ということです。従ってhtmlやxmlで行われる実体参照への
エスケープ ('>' -> '&gt;' 等) は適用されません。
しかし、それぞれのフォーマットに従った変換 (x-www-urlencoded
ならuri-encode、multipart/form-dataならMIME multipart encoding)が
適用されています。

逆に、cgiが出力をtext/htmlで送り出す場合、それはhtmlに従った
フォーマットでなければなりません。そこでは、オリジナルの文書中にある
生の '&' は実体参照 '&ampl' へと置き換えられている必要があります。

--shiro





Gauche-devel-jp メーリングリストの案内
Back to archive index