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

# クラス TableWriter_XML

java.lang.Object
org.opengion.hayabusa.io.AbstractTableWriter
org.opengion.plugin.io.TableWriter_Default
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,

- ## フィールドの概要

  ### クラスから継承されたフィールド org.opengion.hayabusa.io.AbstractTableWriter

  `BUFFER_MIDDLE, clmNo, CR, dbColumn, dbType, isKeyLbl, NUMBER, numberOfColumns, STRING, table`

  ### インタフェースから継承されたフィールド org.opengion.hayabusa.io.TableWriter

  `CSV_SEPARATOR, TAB_SEPARATOR`

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `TableWriter_XML()`
  ﾃﾞﾌｫﾙﾄｺﾝｽﾄﾗｸﾀｰ

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `void`
  `setParam(List<HybsEntry> listParam)`
  ﾊﾟﾗﾒｰﾀｰﾘｽﾄをｾｯﾄします。
  `protected void`
  `writeData(DBTableModel table, PrintWriter writer)`
  PrintWriter に DBTableModelのﾃｰﾌﾞﾙ情報を書き込みます。
  `void`
  `writeDBTable(PrintWriter writer)`
  DBTableModel から ﾃﾞｰﾀを作成して、PrintWriter に書き出します。
  `protected void`
  `writeHeader(PrintWriter writer)`
  PrintWriter に DBTableModelのﾍｯﾀﾞｰ情報を書き込みます。

  ### クラスから継承されたメソッド org.opengion.plugin.io.TableWriter_Default

  `writeDBTable`

  ### クラスから継承されたメソッド org.opengion.hayabusa.io.AbstractTableWriter

  `checkParam, createDBColumn, getDBTableModel, getEncode, getHeaderSequence, getSeparator, isAppend, isDebug, isExcel, isUseNumber, isUseRenderer, quotation, quotation2, setAddTitleSheet, setAppend, setColumns, setDBTableModel, setDebug, setEncode, setFileBreakColumn, setFilename, setFontName, setFontPoint, setHeaderSequence, setHyperLinkColumn, setOmitNames, setPageBreakColumn, setRecalcSheetName, setRefFilename, setRefSheetName, setSeparator, setSheetName, setSheetOverwrite, setSkipRowCount, setUseActiveWorkbook, setUseAutoCellSize, setUseCellStyle, setUseNumber, setUseRenderer, writeClass, writeLabel, writeLabel2, writeName, writeSeparator, writeSize`

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## コンストラクタの詳細

  - ### TableWriter_XML

    public TableWriter_XML()
    ﾃﾞﾌｫﾙﾄｺﾝｽﾄﾗｸﾀｰ
    変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

- ## メソッドの詳細

  - ### writeDBTable

    public void writeDBTable(PrintWriter writer)
    DBTableModel から ﾃﾞｰﾀを作成して、PrintWriter に書き出します。
    定義:
      `writeDBTable` インタフェース内 `TableWriter`
    オーバーライド:
      `writeDBTable` クラス内 `TableWriter_Default`
    パラメータ:
      `writer` - PrintWriterｵﾌﾞｼﾞｪｸﾄ
    変更履歴:
      3.1.1.0 (2003/03/28) 同期ﾒｿｯﾄﾞ(synchronized付き)を非同期に変更する。, 3.5.4.3 (2004/01/05) 引数に PrintWriter を受け取るように変更します。

  - ### 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ｵﾌﾞｼﾞｪｸﾄ
    変更履歴:
      3.1.1.0 (2003/03/28) 同期ﾒｿｯﾄﾞ(synchronized付き)を非同期に変更する。, 4.0.0.0 (2005/01/31) XML宣言部のencoding属性を、encode値をｾｯﾄする。

  - ### writeData

    protected void writeData(DBTableModel table, PrintWriter writer)
    PrintWriter に DBTableModelのﾃｰﾌﾞﾙ情報を書き込みます。 出力のXML形式は、ORACLE XDK での出力ﾌｧｲﾙと同じ形式ですので、直接ﾃﾞｰﾀﾍﾞｰｽに 登録することができます。
    オーバーライド:
      `writeData` クラス内 `TableWriter_Default`
    パラメータ:
      `table` - DBTableModelｵﾌﾞｼﾞｪｸﾄ
      `writer` - PrintWriterｵﾌﾞｼﾞｪｸﾄ
    変更履歴:
      3.1.1.0 (2003/03/28) 同期ﾒｿｯﾄﾞ(synchronized付き)を非同期に変更する。, 3.8.0.1 (2005/06/17) DBTypeが NVAR の場合は、元のUnicodeに戻します。, 4.0.0.0 (2005/01/31) EXEC_SQL ﾀｸﾞ機能の追加, 5.1.6.0 (2010/05/01) DbType の初期値(dbType)を利用する。, 5.2.1.0 (2010/10/01) useRenderer 対応, 5.6.6.1 (2013/07/12) MERGE_SQL 対応, 5.6.7.0 (2013/07/27) 改行処理の見直し, 6.0.1.2 (2014/08/08) ｶﾗﾑ飛ばしできる機能を追加, 6.0.4.0 (2014/11/28) ﾃﾞｰﾀ出力用のﾚﾝﾃﾞﾗｰ, 8.5.2.0 (2023/07/14) 一部の機能廃止による修正(問合・ﾄﾗﾌﾞﾙ 0200010980)

  - ### setParam

    public void setParam(List<HybsEntry> listParam)
    ﾊﾟﾗﾒｰﾀｰﾘｽﾄをｾｯﾄします。 内部は、HybsEntry ｸﾗｽを持っています。 引数が、null の場合は、何もしません。
    定義:
      `setParam` インタフェース内 `TableWriter`
    オーバーライド:
      `setParam` クラス内 `AbstractTableWriter`
    パラメータ:
      `listParam` - HybsEntryﾘｽﾄ
    変更履歴:
      4.0.0.0 (2005/01/31) 新規追加, 5.6.6.1 (2013/07/12) MERGE_SQL 対応, 5.6.6.1 (2013/07/12) keys の整合性ﾁｪｯｸを行います。