パッケージ org.opengion.plugin.io

クラス TableWriter_XML

  • すべての実装されたインタフェース:
    TableWriter

    public class TableWriter_XML
    extends TableWriter_Default
    TableWriter をXML形式で出力する為の実装クラスです。 DefaultTableWriter を継承していますので,ラベル,名前,データの出力部のみ オーバーライドして,XML形式ファイルの出力機能を実現しています。 出力の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文を記載します。 この処理は、イベント毎に実行される為、その配置順は重要です。 このタグは、複数記述することも出来ますが、BODY部には、1つのSQL文のみ記述します。 <ROWSET tablename="GEXX" > <EXEC_SQL> 最初に記載して、初期処理(データクリア等)を実行させる。 delete from GEXX where YYYYY </EXEC_SQL> <MERGE_SQL> このSQL文で UPDATEして、結果が0件ならINSERTを行います。 update GEXX set AA=[AA] , BB=[BB] where CC=[CC] </MERGE_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>
    導入されたバージョン:
    JDK5.0,
    • コンストラクタの詳細

      • TableWriter_XML

        public TableWriter_XML()
        デフォルトコンストラクター
    • メソッドの詳細

      • writeHeader

        protected void writeHeader​(PrintWriter writer)
        PrintWriter に DBTableModelのヘッダー情報を書き込みます。 XML のヘッダーは、<?xml version='1.0' encoding='encode値'?> になります。 encoding属性には、encode値をセットします。 encoding属性に設定できる値は、"UTF-8","UTF-16","Shift_JIS" です。
        オーバーライド:
        writeHeader クラス内 AbstractTableWriter
        パラメータ:
        writer - PrintWriterオブジェクト
      • writeData

        protected void writeData​(DBTableModel table,
                                 PrintWriter writer)
        PrintWriter に DBTableModelのテーブル情報を書き込みます。 出力のXML形式は、ORACLE XDK での出力ファイルと同じ形式ですので、直接データベースに 登録することができます。
        オーバーライド:
        writeData クラス内 TableWriter_Default
        パラメータ:
        table - DBTableModelオブジェクト
        writer - PrintWriterオブジェクト
      • setParam

        public void setParam​(List<HybsEntry> listParam)
        パラメーターリストをセットします。 内部は、HybsEntry クラスを持っています。 引数が、null の場合は、何もしません。
        定義:
        setParam インタフェース内 TableWriter
        オーバーライド:
        setParam クラス内 AbstractTableWriter
        パラメータ:
        listParam - HybsEntryリスト