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>BUFFER_MIDDLE, clmNo, CR, dbColumn, dbType, isKeyLbl, NUMBER, numberOfColumns, NVAR, STRING, tableCSV_SEPARATOR, TAB_SEPARATOR| コンストラクタと説明 |
|---|
TableWriter_XML()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
setParam(java.util.List listParam)
パラメーターリストをセットします。
|
protected void |
writeData(DBTableModel table,
java.io.PrintWriter writer)
PrintWriter に DBTableModelのテーブル情報を書き込みます。
|
void |
writeDBTable(java.io.PrintWriter writer)
DBTableModel から データを作成して,PrintWriter に書き出します。
|
protected void |
writeHeader(java.io.PrintWriter writer)
PrintWriter に DBTableModelのヘッダー情報を書き込みます。
|
writeDBTablecheckParam, 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, writeName, writeSeparator, writeSizepublic TableWriter_XML()
| 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public void writeDBTable(java.io.PrintWriter writer)
writeDBTable インタフェース内 TableWriterwriteDBTable クラス内 TableWriter_Defaultwriter - PrintWriterオブジェクト| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
| 3.5.4.3 (2004/01/05) 引数に PrintWriter を受け取るように変更します。 |
protected void writeHeader(java.io.PrintWriter writer)
writeHeader クラス内 AbstractTableWriterwriter - PrintWriterオブジェクト| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
| 4.0.0.0 (2005/01/31) XML宣言部のencoding属性を、encode値をセットする。 |
protected void writeData(DBTableModel table, java.io.PrintWriter writer)
writeData クラス内 TableWriter_Defaulttable - 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) データ出力用のレンデラー |
public void setParam(java.util.List listParam)
setParam インタフェース内 TableWritersetParam クラス内 AbstractTableWriterlistParam - 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.