村田 真
2003年9月10日
RELAX NGの検証器から利用するための和暦データ型を実装しました。
短縮構文
datatypes 和暦 = "http://www.asahi-net.or.jp/~eb2-mrt/ns/datatypeLibrary/和暦データ型ライブラリ/0.6"
start = element foo {和暦:元号付き年月}
XML構文
<data datatypeLibrary="http://www.asahi-net.or.jp/~eb2-mrt/ns/datatypeLibrary/和暦データ型ライブラリ/0.6" type="元号付き年月"/>
<?xml version="1.0" encoding="shift_jis"?> <foo>昭和32年11月</foo>
漢数字もアラビア数字もサポートします。ただし、アラビア数字は俗に言う半角文字だけです。
"平成元年"の"元年"は許しますが,"平成三年正月"の"正月"は許しません。
10の漢数字による表記として十と一〇の両方を許します。
21の漢数字による表記として二十一と二一の両方を許します。
壱、弐、参、伍、拾が使えます。それぞれ、一、二、三、五、十と まったく同様に使えます。
の三つです。
パラメタとして"数字の種類"を指定できます。
短縮構文
和暦:元号付き年{数字の種類="漢数字"}
XML構文
<data type="元号付き年" datatypeLibrary="http://www.asahi-net.or.jp/~eb2-mrt/ns/datatypeLibrary/和暦データ型ライブラリ/0.6" > <param name="数字の種類">漢数字</param> <data/>
パラメタの値は,"漢数字", "アラビア数字", "漢数字又はアラビア数字"のいずれかです。何も指定しなければ,"漢数字又はアラビア数字"を指定したと見なされます。
以下にエラーになるものを挙げます。
| 例 | 理由 |
|---|---|
| 大正二十年 | 大正は15年まで。 |
| 明治四十五年八月 | 明治45年は7月まで。 |
| 平成百年八月 | 100以上はないという仮定。 |
| 平成3年4月31日 | 4月31日はない。 |
| 昭和三十五年二月三十日 | 閏年なので二十九日まで許す |
オープンソースにしますが、どのライセンスにするかは未定。
JingやMSVと併用するためには,jing.jarやmsv.jarよりクラスパス中で 先に現れるようにします。
java -cp "/tmp/wareki.jar;jing.jar" com.thaiopensource.relaxng.util.Driver -c test.rnc test.xml