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

package 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

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