MiX (Minimalists XML parser) 
======= Yotaro Kubo

* What is MiX:

MiXはC++用の小型XMLパーサです。
機能の多さより使い勝手を重視しています。

* How To Install:

doc/install.htmlを参照のこと。

* Compilers:
[[動作確認済コンパイラ]]
g++ 3.2

[[動作する可能性の高いコンパイラ]]
g++ 2.9x
Microsoft Visual C++ 6
Borland C++ Builder 4.0

* Directories:
 - 使用方法 -> doc/
 - テスト(ビルドにはCppUnitが必要です) -> test/
 - サンプル -> samples/

* Policy:
1.クライアントコードを美しく
  クライアントコードをCoolに書けるようなインタフェース。
2.簡単な処理は簡単なコードで
  大がかりな処理をやるならXML4Cとかのほうが向いていますが、
  MiXは簡単な処理を簡単に書けるようにします。
3.柔軟に
  自由にカスタマイズできるようにします。
4.最小限
  上の方針を満たす上での最小限。

* License:
  Ver0.4.5からApache Software Licenseです。

* Notes:
[[ProjectPage]]
  http://sourceforge.jp/projects/mix

* History:
Ver0.5.0 0.5系はデザイン云々より実用性重視で。
 - 前回のテンプレートパラメータ改悪を戻す
 - 名前空間対応
 - NamedNodeFinderを変更(互換性キープなし)
 [[ToDo]]
   * 名前空間つかったサンプル
   * SAX_Parserまわりをきれいに
   * XPath
   * Valueにキャスト演算子を

Ver0.4.6 「IPA未踏ソフトウェア開発事業」に'少し'関わることになりました
 - clone追加
 - NodeContainer::getElementsByTagNameを追加(επιστημηさんthx)
 - 大幅リファクタリング(Traits周りと、ソース全般)
 - テストを刷新
 - GCC3.1に対応(警告473個とか出てたし...)
 - ストリームから直接parseに対応(Kent.Nさんthx!)
	
Ver0.4.5 SourceForgeJPに移転
 - 細やかなBugFiX(森野さんthx)
 - ディレクトリ構成変更(src/ -> src/MiX/)
 - Nodeに関するtypedefを作成(επιστημηさんthx)
 - DomHoge->DOM_Hoge,SaxHoge->SAX_Hogeに名前変更
 - XMLCharTratits->DefaultXMLTraitsに名前変更
 - AttrMapを順序つきに
 - 例外クラスのバグを取る(あひるさんthx)
 - メソッドの一部をインライン化
						
Ver0.4.4 Ver0.5.0前の一休み
 - コピーコンストラクタを隠蔽
 - const Char*で受け取ってたパラメータをXMLString<...>で受け取るように統一
 - hasAttributeの追加(επιστημηさん thx！)

Ver0.4.3 トップブリーダーも推奨！(冗談)
 - まだまだ残ってるBugFiX
 - '_MSC_VER'に対応
 - テスト強化
 - サンプル強化
 - マルチバイト文字列への対応を確認
 - 存在しないTextをfindするとSegFaultするのはgccのバグ？
 - 馬鹿丸出しのミスを直す(thx to επιστημηさん)
 - ElementにgetText/setTextを追加。
 - MiX_BACKWARD_COMPATIBILITYマクロで後方互換を実現
	
Ver0.4.2 自称STLフェチ
 - リファクタリング
 - NodeList操作に便利なプレディケータを追加
 - Doxygen化(Doxygenってすごい！)
 - Attributeのcreateの引数の順番が違うのを修正
 - Valueのワイド文字に関するバグを修正
					
Ver0.4.1 虫の嵐
 - ワイド文字列関係のバグ多数
 - XML名前空間を使った時のバグをFiX
 - エラー処理まわりの改善
 - 実体参照に関するバグ(というか機能不足)を解消
 - DTD宣言。読み飛ばしてるつもりが、全然読み飛ばせてなかった。
 - C++ Builderで仮動作確認(thx to Gimite市川さん)
 - (C++の)名前空間関係の修正(thx to Gimite市川さん)

Ver0.4.0 神聖な伽藍 (伽藍とバザールより)
 - VC++用のプロジェクトファイルを作った
 - コードをシェイプアップした
 - VC++対応
 - シンプルに使うためのnamespaceを用意
 - メーリングリスト"CPPLL"で話題になったマクロ名に関する問題
 - 星の数ほどあるバグの修正………(やばい)

Ver0.3.3 ちょいFiX&マメRelease計画
 - ドキュメントの細かいとこ
 - スマートイテレータを標準イテレータに準拠
 - Element[int]は廃止。よくない
 - だいぶ落ち着いてきたのでそろそろ0.4.0化＆DLL化かも

Ver0.3.2 テンプレート地獄…
 - ドキュメントがやっと一段落ついた。
 - 例外クラスを標準規格に準拠
 - DomExceptionのエラーメッセージが詳細に。
 - 試しにElement[int]でTextにアクセスできるようにしてみた。
	
Ver0.3.1  日刊リリースを目標に(暇なうちに何度もリリースしよう)
 - すぐに例外を投げずにonExceptionハンドラで検証
 - XMLStringをちょっと改善
 - NodeListのCoolなイテレータを実装(要メンバテンプレート)
 - 例外やメンバテンプレートがサポートされてなくても大丈夫に
 - リファレンスを少しづつ書きはじめた。

Ver0.3.0  コードの変更はあまりない。
 - もう少し必要になるまでAutoconfは待つ。
 - Sample二本追加
 - Document充実計画
 - toStringで美文書(インデント対応)
 - DomParserにsetIgnoreSpace追加(忘れてた…)

Ver0.2.0 サンプルと、ドキュメントを整備
 - xml2htmlという簡単なサンプルを用意。
 - ドキュメントもちょっとずつ整備
 - Design消しちゃった…(最近はdiaより紙デザインだし)
 - Makefileのfix (いい加減autoconf使わなくては…)

Ver0.1.3 基本完成＆バージョンつけかた変える。
 - 基本的な部分が全部完成した。
 - あとはサンプルとかの充実。
			
Ver0.1.2 血を吐くようなテンプレート地獄
 - 主にリファクタリング
 - char_traitsと、XMLTraitsを使って真の文字エンコードフリー
 - マルチバイトにも期待が持てそう
		
Ver0.1.1 意外に簡単にできた。予定達成度75%
 - ANSIC++準拠しました。(たぶん)
 - std::basic_stringを使うように変更しました。
	
Ver0.1.0 とりあえずの完成
