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

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

参照先: 説明

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

- クラスのサマリー
  クラス | 説明
  --- | ---
  DomParser | XMLファイルを読み取って、Document オブジェクトを取得する、ユーティリティークラスです。
  HybsXMLHandler | このクラスは、拡張オラクル XDK形式のXMLファイルを処理するハンドラです。
  HybsXMLSave | このクラスは、オラクル XDKの oracle.xml.sql.dml.OracleXMLSave クラスと ほぼ同様の目的で使用できるクラスです。
  JspIncludeReader | このクラスは、jspファイルのXSLT変換に特化した、Readerオブジェクトを作成するクラスです。
  JspSaxParser | JSP/XMLファイルを読み取って、OGNode/OGElement オブジェクトを取得する、パーサークラスです。
  OGAttributes | 属性リストをあらわす、OGAttributes クラスを定義します。
  OGAtts | 属性キーと属性値を管理する クラス 属性自身は、属性キーと属性値のみで十分ですが、改行処理や文字列の長さ設定で、 予め内部処理をしておきたいため、クラス化しています。
  OGDocument | JSP/XMLファイルを読み取って、構築される最上位の OGDocument オブジェクト を定義します。
  OGElement | エレメントをあらわす、OGElement クラスを定義します。
  OGNode | ノードの基底クラスとなる、OGNode クラスを定義します。
  TagElement | このクラスは、XMLファイルのタグエレメントを表すオブジェクトです。
  XML2TableParser | XML2TableParser は、XMLを表形式に変換するためのXMLパーサーです。
  XSLT | XML 入力ファイルに、XSL 入力ファイルを適用して、 XSLT変換を行います。

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

## パッケージ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文を登録する 事も可能です。

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.