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>
clmNo, dbColumn, dbType, NUMBER, numberOfColumns, NVAR, STRING, table
CSV_SEPARATOR, TAB_SEPARATOR
コンストラクタと説明 |
---|
TableWriter_XML() |
修飾子とタイプ | メソッドと説明 |
---|---|
void |
setParam(List listParam)
パラメーターリストをセットします。
|
protected void |
writeData(DBTableModel table,
PrintWriter writer)
PrintWriter に DBTableModelのテーブル情報を書き込みます。
|
void |
writeDBTable(PrintWriter writer)
DBTableModel から データを作成して,PrintWriter に書き出します。
|
protected void |
writeHeader(PrintWriter writer)
PrintWriter に DBTableModelのヘッダー情報を書き込みます。
|
writeDBTable
checkParam, createDBColumn, getDBTableModel, getEncode, getHeaderSequence, getSeparator, isAppend, isExcel, isUseNumber, isUseRenderer, quotation, quotation2, setAddTitleSheet, setAppend, setColumns, setDBTableModel, setEncode, setFileBreakColumn, setFilename, setFontName, setFontPoint, setHeaderSequence, setHyperLinkColumn, setPageBreakColumn, setRefFilename, setRefSheetName, setSeparator, setSheetName, setSkipRowCount, setUseActiveWorkbook, setUseAutoCellSize, setUseCellStyle, setUseNumber, setUseRenderer, writeClass, writeLabel, writeName, writeSeparator, writeSize
public void writeDBTable(PrintWriter writer)
writeDBTable
インタフェース内 TableWriter
writeDBTable
クラス内 TableWriter_Default
writer
- PrintWriterオブジェクト3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
3.5.4.3 (2004/01/05) 引数に PrintWriter を受け取るように変更します。 |
protected void writeHeader(PrintWriter writer)
writeHeader
クラス内 AbstractTableWriter
writer
- PrintWriterオブジェクト3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
4.0.0.0 (2005/01/31) XML宣言部のencoding属性を、encode値をセットする。 |
protected void writeData(DBTableModel table, PrintWriter writer)
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) カラム飛ばしできる機能を追加 |
public void setParam(List listParam)
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 の整合性チェックを行います。 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.