設定ファイルのXMLをバージョン管理できるようにしたい。
そうしなければエンタープライズに耐えられないだろうと思ったわけで。
最初は1.0だけなんだけど、それ以外を無視できるように最初に組んでおかなければ、仮に2.0等の設定ファイル記述を用意した途端、混在不可能となり、サーバとクライアントの同時置き換えしか手段がなくなることになる。
#上位バージョンで差を吸収すればクライアントを置き換え後、サーバの設定を置き換えるって方法はあるけど、そうであっても注意しないといけないわけだ。
最初は、ルート要素にバージョン属性値としてバージョン定義したらOKだと考えていた。
version="1.0"みたいな。
実際、かなりOKな感じなのだが、バージョン混在を考えた場合に対処が困難となる。
何が困難かというと、たとえば、3バージョンのうち2バージョンで有効なものと1バージョンで有効なものの定義を分けたい場合、やはり1組のコピーを要する手間が掛かってしまう点で、スマートじゃないことだ。
いや、上位バージョンで下位バージョンを読み込んでいいのかどうかが分からないってところか。
さすがにすべて書き直さなきゃならないってのは避けたいのでな。
じゃぁ、どうしたらいいのか。
各バージョンに対応した属性を用意して、上位コンパチでいいのかなぁ・・・
だったらバージョン指定しても同じだしなぁ。
やはりバージョン分岐できると便利だよなぁ・・・
いや、そもそも分岐する意味ってあるの?
などと考えていると、袋小路で迷子になるので、またあとで落ち着いて考えることにしよう。
こういうとき、1人での開発は結論を出すのに時間が掛かる。
(追記)
フォーマットバージョンと、それを理解する側のバージョンを分けちゃえばいいんだと気づいた。
フォーマットバージョンは理解する側だと上位で吸収できる。
あとは、そのバージョン単独の定義を指定できれば分岐だってできるわけだ。
そうとなれば、それ用の属性を1つ追加して、判断材料にしちゃえばいいってことだ。
無事解決?
コメントしちゃいなよ