# パッケージ org.opengion.fukurou.xml

     はやぶさ共通のＸＭＬ関連クラスを提供します。

     このパッケージは、単独クラスとして、他のopenGionパッケージと切り離されています。

     ここで扱う ＸＭＬファイルは、拡張オラクル ＸＤＫ形式のＸＭＬファイルを処理するクラス群です。
     オラクルＸＤＫ形式のＸＭＬとは、下記のような ROWSET をトップとする ROW の
     集まりで１レコードを表し、各ROWには、カラム名をキーとするXMLになっています。

       <ROWSET>
           <ROW num="1">
               <カラム1>値1</カラム1>
                 ･･･
               <カラムn>値n</カラムn>
           </ROW>
            ･･･
           <ROW num="n">
              ･･･
           </ROW>
       <ROWSET>

     この形式であれば、XDK(Oracle XML Developer's Kit)を利用すれば、非常に簡単に
     データベースとXMLファイルとの交換が可能です。

     XDK(Oracle XML Developer's Kit)

     拡張ＸＤＫ形式とは、ROW 以外に、SQL処理用タグ(EXEC_SQL)を持つ XML ファイルです。
     これは、オラクルXDKで処理する場合、無視されますので、同様に扱うことが出来ます。
     この、EXEC_SQL は、それそれの XMLデータをデータベースに登録する際に、
     SQL処理を自動的に実行する為の、SQL文を記載できます。
     このSQL文は、EXEC_SQLタグを処理する都度にイベント処理される為、その配置順は重要です。
     このタグそのものは、複数記述することが出来ますが、BODY部には、１つのSQL文のみ記述します。

       <ROWSET>
           <EXEC_SQL>                    最初に記載して、初期処理（データクリア等）を実行させる。
               delete from GEXX where YYYYY
           </EXEC_SQL>
           <ROW num="1">
               <カラム1>値1</カラム1>
                 ･･･
               <カラムn>値n</カラムn>
           </ROW>
            ･･･
           <ROW num="n">
              ･･･
           </ROW>
           <EXEC_SQL>                    最後に記載して、項目の設定(整合性登録)を行う。
               update GEXX set AA='XX' , BB='XX' where YYYYY
           </EXEC_SQL>
       <ROWSET>

     この、SQL文を登録前に実行すれば、既存データを削除してから、新しいデータを
     登録するような使い方が出来ます。
     このファイルの処理を、タイムスタンプ等で監視すれば、変更時のみ実行する
     データ登録のファイルを作成することが可能です。
     また、最後に記載することで、登録後のデータ整合性を処理するSQL文を登録する
     事も可能です。

        org.opengion.fukurou.xml (classes)
           → org.opengion.fukurou.system                        classes
           → org.opengion.fukurou.util                          classes

- インタフェースの概要
  インタフェース | 説明
  --- | ---
  JspParserFilter | JSP/XMLファイルを読み取って、構築される最上位の OGDocument オブジェクト を処理する フィルタインターフェースです。
  TagElementListener | このクラスは、HybsXMLHandler に設定する Listener インターフェースです。

- クラスの概要
  クラス | 説明
  --- | ---
  DomParser | XMLファイルを読み取って、Document オブジェクトを取得する、ユーティリティークラスです。
  HybsErrorListener | TransformerFactory、Transformer 等で発生するエラーや警告を補足する ErrorListener の実装クラスです。
  HybsXMLHandler | このクラスは、拡張オラクル XDK形式のXMLファイルを処理するハンドラです。
  HybsXMLSave | このクラスは、オラクル XDKの oracle.xml.sql.dml.OracleXMLSave クラスと ほぼ同様の目的で使用できるクラスです。
  JspIncludeReader | このクラスは、jspファイルのXSLT変換に特化した、Readerオブジェクトを作成するクラスです。
  JspSaxParser | JSP/XMLファイルを読み取って、OGNode/OGElement オブジェクトを取得する、パーサークラスです。
  OGAttributes | 属性リストをあらわす、OGAttributes クラスを定義します。
  OGDocument | JSP/XMLファイルを読み取って、構築される最上位の OGDocument オブジェクト を定義します。
  OGElement | エレメントをあらわす、OGElement クラスを定義します。
  OGNode | ノードの基底クラスとなる、OGNode クラスを定義します。
  TagElement | このクラスは、XMLファイルのタグエレメントを表すオブジェクトです。
  XML2TableParser | XML2TableParser は、XMLを表形式に変換するためのXMLパーサーです。
  XMLFileLoader | ORACLE XDK 形式のXMLファイルを読み取って、データベースに登録します。
  XSLT | XML 入力ファイルに、XSL 入力ファイルを適用して、 XSLT変換を行います。

- 列挙型の概要
  列挙型 | 説明
  --- | ---
  OGNodeType | OGNode のタイプを規定した、enum 定義です。