Top/Relaxer/log4j.dtd

Log4jのXML形式のConfigファイルをRelaxerを用いて入出力できれば便利だなぁと思って色々試行錯誤したときのメモ。

要件

メモ

幸いlog4j.dtdがあるのでここからRELAXNGスキーマを作ればよいと思ったんだけど、log4j.dtdがDTDのくせに名前空間を考慮して作成されているみたいで、dtdInstやDTD2RELAXがエラーになっちゃう。最終的にはTrangを使用するのがよいという結論に落ち着きました。

Trangをつかってみる

Trangよりダウンロード。で、

java -jar ./trang.jar log4j.dtd log4j.rng <- 全く元のlog4j.dtdです
relaxer -java -java.package:nu.mine.kino.log4j.binding
        -java.xml.namespace log4j.rng <- 上で作成したlog4j.rngです。

でOKでした。いままでなにやってたんだろー。。。。

ようするに

参考
RELAX分割検証参照モデル

以下、試行錯誤

log4j.dtd -> log4j.rngに変換したい。

やり方は

こうやると何故かクラス名にElement..ってprefixがついちゃう。けすにはrngのなかのrefを置換かぁ??


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  
Top/Relaxer/log4j.dtd

現在のアクセス:8327


*1 log4j.dtdはlog4jのtarに入ってる
*2 こうした瞬間にlog4jの名前空間とまざっちゃうよなぁ

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-07-15 (水) 00:03:24