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

Back to archive index

Nobuo Yamashita nobsu****@sampo*****
2004年 8月 24日 (火) 04:30:19 JST


> XML1.1によれば
> (http://www.w3.org/TR/2004/REC-xml11-20040204/)
> 
> [10] AttValue ::= '"' ([^<&"] | Reference)* '"'
>                |  "'" ([^<&'] | Reference)* "'"
> 
> ですが、
> 
> To allow attribute values to contain both single and double 
> quotes, the apostrophe or single-quote character (') MAY be 
> represented as "&apos;", and the double-quote character (") 
> as "&quot;".
> 
> ともあるので、シングルクオートだけ実体参照にしてしまう方が楽かも
> しれません。

そうかぁ。属性値には参照をが含まれているんだった。
一般の属性値ならシングルクウォートを実体参照にするだけでいいけど、

URI として使いたいなら、直接実体参照を使えないので、URIエンコード済の
文字列を属性値として使うことになるでしょうから、uri-encode で ' や "
もエスケープできると嬉しいです。

> そもそも今のコードだとattrに#\&や#\<が入っててもやばそうだし。

ですよね。つまるところ、validation をしながら、SXML を構成する関数を
つかうようにして、SXML をユーザに生で書かせないようしないと valid な
XML を生成できないということですか。。。あたりまえか。。。

--nobsun




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