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

package org.opengion.fukurou.xml

     はやぶさ共通のXML関連ｸﾗｽを提供します。

     このﾊﾟｯｹｰｼﾞは、単独ｸﾗｽとして、他のopenGionﾊﾟｯｹｰｼﾞと切り離されています。

     ここで扱う XMLﾌｧｲﾙは、拡張ｵﾗｸﾙ XDK形式のXMLﾌｧｲﾙを処理するｸﾗｽ群です。
     ｵﾗｸﾙXDK形式のXMLとは、下記のような ROWSET をﾄｯﾌﾟとする ROW の
     集まりで1ﾚｺｰﾄﾞを表し、各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)

     拡張XDK形式とは、ROW 以外に、SQL処理用ﾀｸﾞ(EXEC_SQL)を持つ XML ﾌｧｲﾙです。
     これは、ｵﾗｸﾙXDKで処理する場合、無視されますので、同様に扱うことが出来ます。
     この、EXEC_SQL は、それそれの XMLﾃﾞｰﾀをﾃﾞｰﾀﾍﾞｰｽに登録する際に、
     SQL処理を自動的に実行する為の、SQL文を記載できます。
     このSQL文は、EXEC_SQLﾀｸﾞを処理する都度にｲﾍﾞﾝﾄ処理される為、その配置順は重要です。
     このﾀｸﾞそのものは、複数記述することが出来ますが、BODY部には、1つの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変換を行います。