アプリ版:「スタンプのみでお礼する」機能のリリースについて

属性内に以下の計算式を入れてXPathで読み込む簡単なプログラムを作っています。
<X 計算式="IF(C16>0,0,1)" />
では、”>”の記号があるためXML構文がエラーとなります。
よって<X 計算式="IF(C16&lt;0,0,1)" />
と書き換えるのがベータだと思いますが、計算式をそのまま使いたいので
<X 計算式="<![CDATA[IF(C16>0,0,1)]]>" />
としたいのですが、属性値の中にCDATAセクションを含めることができずこれも構文エラーとなります。
やはり&lt;に置き換えるしか方法はないのでしょうか?

A 回答 (1件)

多分CDATAを載せることは出来ないと思う。


自分が混乱しないために諦めて
>やはり&lt;に置き換えるしか方法はないのでしょうか?
に慣れることを非常に強く推奨するけど,

>では、”>”の記号があるためXML構文がエラーとなります。
本当に?検証してみた?少なくともIE,Firefoxではエラーにならないよ。

属性値のBNFを見ると
http://www.w3.org/TR/REC-xml/#NT-AttValue

AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] | Reference)* "'"

[^<&"]だから>は除外されないよ?
<X 計算式="IF(C16<0,0,1)" />
とか不等号が逆向きになったらエラーだけどね。

HTMLの話だけどこれも面白いよ
http://www.satoshii.org/markup/notes/2002/02#day …
    • good
    • 1
この回答へのお礼

ありがとうございます。
出来ないのであれば、そういうものだと思って諦めたいと思います。
URL参考にさせてもらいます。

お礼日時:2007/11/16 06:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!