[Seasar-user:1037] DICONの仕様で

Taro Kato kato
2004年 9月 24日 (金) 23:49:21 JST


》比嘉 様

お世話になります。グルージェント加藤です。

DICONファイルは全てコンテンツがOGNLですので、
ただの定数を定義する場合に辛くなることが結構あります。

文字列内は当然Javaのエスケープを考慮しながら気を遣って
記述しなければなりませんし、それでもふとしたことで
ダブルクォーテーションを入れわすれたり、文字列内の\を
エスケープし忘れたり、凡ミスというのは経てして発見に
時間がかかるものです。TYPOは静かに潜んで
どこが原因なのかを追うのが一苦労だったり…。(-_-、

現状の <property> 以外に、<const> のようなタグがあると
嬉しいです。表記法の違うpropertyとでも言えば良いでしょうか。

<const>のコンテンツの場合は、<property>の処理に渡す前に、

String[] contents = StringUtils.split(内容)
for (int i = 0; i< contents.length; i++) {
    contents[i] = "\\" + DQ +
        StringEscapeUtils.escapeJava(
             StringUtils.trim(contents[i])) + "\\" + DQ;
}
DQ + StringUtils.join(contents, "\\n") + DQ;

して、前後にダブルクォートしてから、OGNLの処理に渡すといった
実装にして頂けると、楽になりそうです。

もしくは propertyタグには、値を属性値かコンテンツのどちらかを
任意で指定可能で、属性値指定の場合は定数とみなす…といった
ものでも良いです(でもこれだと複数行のリテラルが作成できませんね)。

よろしければ、方策をお考えいただけると幸いです。



[[[[[[[[[[[[[[[[[[[[[[ G l u e g e n t , I n c .
[[[[[[[[[[     [[[[[[[
[[[[[[      [[[[[[[[[[
[[[[      [[[[[[[[[[[[    http://www.gluegent.com/
[[      [[[[[[    [[[[
[[[         [[[[   [[[ System Development Division
[[[[[[[[[[[[[[   [[[[[
[[[[[[[[[[[[   [[[[[[[    T a r o  K a t o
[[[[[[[[[[  [[[[[[[[[[





Seasar-user メーリングリストの案内