openGionopenGion
5.3.2.0

org.opengion.fukurou.xml
クラス XSLT

java.lang.Object
  上位を拡張 org.opengion.fukurou.xml.XSLT

public class XSLT
extends java.lang.Object

XML 入力ファイルに、XSL 入力ファイルを適用して、 XSLT変換を行います。 結果は、XML 出力ファイルにセーブします。 各ファイルの代わりに、Writer,Reader を設定することも可能です。 このパーサーでは、内部で実行中の入力ファイル情報を パラメータとして設定できます。 useFileInfo( true ) とセットすると、以下の4項目が内部的にセットされます。 ただし、この設定が可能なのは、XML 入力ファイルに、Reader ではなく、ファイル名を 渡した場合のみです。ストリームの場合は、各種情報は取れません。 入力ファイル(inXMLのフルパス) : FILEPATH (例: G:\webapps\gf\jsp\DOC10\query.jsp) 入力親フォルダ(inXMLの親フォルダ) : ADDRESS (例: DOC10) 入力ファイル(inXMLのファイル名) : FILENAME (例: query.jsp) 入力ファイル(inXMLの更新日付 ) : MODIFIED (例: yyyyMMddHHmmss形式) xsl ファイルでは、パラメータ は、xsl:param で宣言し、xsl:value-of で取り出します。 <xsl:param name="ADDRESS" select="" /> と宣言しておき、必要な箇所で <xsl:value-of select="$ADDRESS" /> とすれば、取得できます。 String inXSTL = "inXSLfile.xsl" ; // 入力XSLファイル String outFile = "outXMLfile.xml" ; // 出力XMLファイル String inXML = "inXMLfile.xml" ; // 入力XMLファイル XSLT xslt = new XSLT(); xslt.setXslFile( inXSTL ); xslt.setOutFile( outFile,false ); xslt.transform( inXML );

バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
static java.lang.String ENCODE
          初期 ENCODE 名 "UTF-8"
 
コンストラクタの概要
XSLT()
           
 
メソッドの概要
 void close()
          入力XSLファイルのストリームを閉じます。
 void errClose(boolean flag)
          transform 処理中にエラーが発生した場合に、出力ファイルを閉じるかどうかを指定します。
 void jspInclude(boolean flag)
          jsp:directive.include 発見時に、そのファイルを INCLUDE するかを指定するかどうかを指定します(初期値 true:使用する) 引数の処理対象ファイル(transformの引数ファイル)が、『.jsp』の場合、 jsp:directive.include 発見時に、そのファイルを INCLUDE するかを指定するか どうかを指定します。
static void main(java.lang.String[] args)
          テスト用のメインメソッド java XSLT in_xml in_xsl out_xml
 void setOutData(java.lang.String outData)
          結果XML ライターに、指定のデータを書き出します。
 void setOutFile(java.lang.String file, boolean append)
          結果XML ファイル名と、そのオープン方法を指定します。
 void setOutFile(java.io.Writer writer)
          結果XML データを出力する、Writer を指定します。
 void setParamEntry(HybsEntry[] entry)
          Transformer オブジェクトに対して、Parameter を設定します。
 void setXslFile(java.io.Reader reader)
          入力XSLリーダーを、指定します。
 void setXslFile(java.lang.String file)
          入力XSLファイルを、指定します。
 java.lang.String toString()
          このオブジェクトの内部文字列表現を返します。
 void transform(java.io.Reader xmlReader)
          XML ファイルをXSLT変換します。
 void transform(java.lang.String file)
          XML ファイルをXSLT変換します。
 void transform(java.lang.String file, boolean isJspInclude)
          XML ファイルをXSLT変換します。
 void useEncode(java.lang.String encode)
          ファイル名指定で XML,XSL,OUTファイルを指定する場合のエンコードを指定します。
 void useErrXmlIn(boolean flag)
          transform 処理中エラーを、出力ファイルに、XML形式でエラーを追記するかどうかを指定します。
 void useFileInfo(boolean flag)
          実行中の入力ファイル名などの属性情報を パラメータとして設定するかどうかを指定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

ENCODE

public static final java.lang.String ENCODE
初期 ENCODE 名 "UTF-8"

関連項目:
定数フィールド値
コンストラクタの詳細

XSLT

public XSLT()
メソッドの詳細

setXslFile

public void setXslFile(java.lang.String file)
入力XSLファイルを、指定します。

パラメータ:
file - String 入力XSLファイル
関連項目:
setXslFile( Reader )

setXslFile

public void setXslFile(java.io.Reader reader)
入力XSLリーダーを、指定します。

パラメータ:
reader - Reader 入力XSLリーダー
関連項目:
setXslFile( String )

setOutFile

public void setOutFile(java.lang.String file,
                       boolean append)
結果XML ファイル名と、そのオープン方法を指定します。 結果XML ファイルを、追記する(append=true)か新規作成する(append=false)か指定します。 なお、結果XML ファイル(outFile) を指定しない(=null)か、特別な名称 "System.out" 文字列を渡すと、標準出力に 結果を出力します。

パラメータ:
file - String 出力ファイル名(null または、"System.out" 文字列時は、標準出力)
append - boolean 追記する(true)/新規作成する(false)

setOutFile

public void setOutFile(java.io.Writer writer)
結果XML データを出力する、Writer を指定します。 ファイル、標準出力、JSPWriter など、必要に応じて Writer を作成してください。 標準出力(System.out)の場合は、NonClosePrintWriter クラスなどの非close()処理系を、 JSPWriterの場合は、NonFlushPrintWriter クラスなどの非flush()、close()処理系を、 使用してください。

パラメータ:
writer - Writer 出力するWriter

setOutData

public void setOutData(java.lang.String outData)
結果XML ライターに、指定のデータを書き出します。

パラメータ:
outData - String 書き出すデータ

transform

public void transform(java.lang.String file)
XML ファイルをXSLT変換します。 XML 入力ファイルに、XSL 入力ファイルを適用して、 XSLT変換を行います。 結果は、XML ファイルにセーブします。 拡張子が『.jsp』の場合、jsp:directive.include 処理を行います。

パラメータ:
file - String 入力XMLファイル
関連項目:
transform( Reader )
変更履歴:
4.0.0.2 (2007/12/10) 拡張子が『.jsp』の場合、jsp:directive.include 処理を行います。

transform

public void transform(java.lang.String file,
                      boolean isJspInclude)
XML ファイルをXSLT変換します。 XML 入力ファイルに、XSL 入力ファイルを適用して、 XSLT変換を行います。 結果は、XML ファイルにセーブします。 引数の isJspInclude によって、jsp:directive.include 処理を行うかどうか判断します。

パラメータ:
file - String 入力XMLファイル
isJspInclude - boolean jsp:directive.include 処理を行うかどうか。
関連項目:
transform( Reader )
変更履歴:
4.2.3.0 (2008/05/26) jsp:directive.include 処理の実施可否を引数指定します。
5.2.1.0 (2010/10/01) JspIncludeReader#getString の第3引数を廃止

transform

public void transform(java.io.Reader xmlReader)
XML ファイルをXSLT変換します。 XML 入力リーダーに、XSL 入力リーダーを適用して、 XSLT変換を行います。 結果は、XML ライターに書き出します。 この処理の終了後に、入力XML リーダー は、close() されます。

パラメータ:
xmlReader - Reader 入力XML リーダー
関連項目:
transform( String )

setParamEntry

public void setParamEntry(HybsEntry[] entry)
Transformer オブジェクトに対して、Parameter を設定します。 指定されたパラメーターキーは、xsl ファイルでは、xsl:param で宣言し、 xsl:value-of で取り出します。 と宣言しておき、必要な箇所で とすれば、取得できます。

パラメータ:
entry - HybsEntry[] パラメーターエントリー

errClose

public void errClose(boolean flag)
transform 処理中にエラーが発生した場合に、出力ファイルを閉じるかどうかを指定します。 処理途中でエラーが発生した場合に、そこで処理を中断するか、それとも、 無視して、さらに処理を進めるかを指定することが可能です。 継続して処理を進めたい場合は、出力ファイルを閉じないため、false を 設定します。ただし、エラー時には、RuntimeException は throw されます。 初期値は、true(閉じる)です。

パラメータ:
flag - boolean エラー時クローズ(true:閉じる/false:閉じない)

useErrXmlIn

public void useErrXmlIn(boolean flag)
transform 処理中エラーを、出力ファイルに、XML形式でエラーを追記するかどうかを指定します。 処理途中でエラーが発生した場合に、ログだけではなく、結果XMLファイルに、 エラー内容や、エラーファイルなどを埋め込むと、XMLファイルとしてDB登録や、 その他集計等に使えます。 今は、GE70 スキーマ形式のファイルしか作成できません。 これは、#errClose( boolean ) メソッドと共に使用すると効果的です。 つまり、errClose = false; にして、エラー時でも出力ファイルを閉じずに、 処理を続ける事で、エラーメッセージもXMLファイルとして蓄積できます。 初期値は、false(使用しない)です。

パラメータ:
flag - boolean エラー時XML形式(false:使用しない/true:使用する)

jspInclude

public void jspInclude(boolean flag)
jsp:directive.include 発見時に、そのファイルを INCLUDE するかを指定するかどうかを指定します(初期値 true:使用する) 引数の処理対象ファイル(transformの引数ファイル)が、『.jsp』の場合、 jsp:directive.include 発見時に、そのファイルを INCLUDE するかを指定するか どうかを指定します。 インクルードされたファイルとあわせて、正規のXML にならないと、パーサー エラーが発生します。 JSPソース解析を行うには、INCLUDE ファイルも考慮しないと正確な結果を 得られませんが、INCLUDE 先のファイルまで合わせる必要があるため、 場合によっては、INCLUDEファイルを無視しなければならないケースがあります。 初期値は、true(使用する)です。

パラメータ:
flag - boolean エラー時XML形式(false:使用しない/true:使用する)

close

public void close()
入力XSLファイルのストリームを閉じます。


useFileInfo

public void useFileInfo(boolean flag)
実行中の入力ファイル名などの属性情報を パラメータとして設定するかどうかを指定します。 このパーサーでは、内部で実行中の入力ファイル情報を パラメータとして設定できます。 useFileInfo( true ) とセットすると、以下の4項目が内部的にセットされます。 入力ファイル(inXMLのフルパス) : FILEPATH (例: G:\webapps\gf\jsp\DOC10\query.jsp) 入力親フォルダ(inXMLの親フォルダ) : ADDRESS (例: DOC10) 入力ファイル(inXMLのファイル名) : FILENAME (例: query.jsp) 入力ファイル(inXMLの更新日付 ) : MODIFIED (例: yyyyMMddHHmmss形式)

パラメータ:
flag - boolean セットする:true/セットしない:false
変更履歴:
4.0.0.0 (2007/09/25) ParameterMetaData を使用したパラメータ設定追加。 xsl ファイルでは、xsl:param で宣言し、xsl:value-of で取り出します。 <xsl:param name="ADDRESS" select="" /> と宣言しておき、必要な箇所で <xsl:value-of select="$ADDRESS" /> とすれば、取得できます。 初期値は、false(セットしない) です。

useEncode

public void useEncode(java.lang.String encode)
ファイル名指定で XML,XSL,OUTファイルを指定する場合のエンコードを指定します。 初期値は、UTF-8 です。

パラメータ:
encode - String エンコード

toString

public java.lang.String toString()
このオブジェクトの内部文字列表現を返します。 接続URL + "," + 接続ユーザー + " (" + 作成日付 + ")" です。

オーバーライド:
クラス java.lang.Object 内の toString
戻り値:
内部文字列表現

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
テスト用のメインメソッド java XSLT in_xml in_xsl out_xml

パラメータ:
args - String[]
例外:
java.io.IOException

openGion 5.3.2.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.