クラスTransformer
このクラスのインスタンスはTransformerFactory.newTransformerメソッドにより取得できます。 その後、このインスタンスを使用して、さまざまなソースからXMLを処理し、変換結果をさまざまなシンクに出力することができます。
このクラスのオブジェクトは並行して動作する複数のスレッドで使用することはできません。 異なるスレッドでは並行して使用されるTransformerも異なります。
Transformerは複数回使用できます。 パラメータと出力プロパティは変換全体を通して保持されます。
- 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract voidsetParameterを使用して設定されたすべてのパラメータをクリアします。abstract ErrorListener変換に有効なエラー・イベント・ハンドラを取得します。abstract Properties変換のための出力プロパティのコピーを取得します。abstract StringgetOutputProperty(String name) transformerに有効な出力プロパティを取得します。abstract ObjectgetParameter(String name) setParameterを使用して明示的に設定されたパラメータを取得します。abstract URIResolverdocument()で使用されるURIを解決するのに使用されるオブジェクトを取得します。voidreset()このTransformerを元の構成にリセットします。abstract voidsetErrorListener(ErrorListener listener) 変換に有効なエラー・イベント・リスナーを設定します。abstract voidsetOutputProperties(Properties oformat) 変換の出力プロパティを設定します。abstract voidsetOutputProperty(String name, String value) 変換に有効な出力プロパティを設定します。abstract voidsetParameter(String name, Object value) 変換のパラメータを追加します。abstract voidsetURIResolver(URIResolver resolver) document()で使用されるURIを解決するのに使用されるオブジェクトを設定します。abstract voidXMLSourceをResultに変換します。
-
コンストラクタの詳細
-
Transformer
protected Transformer()デフォルトのコンストラクタが意図的に保護されます。
-
-
メソッドの詳細
-
reset
public void reset()この
Transformerを元の構成にリセットします。Transformerは、TransformerFactory.newTransformer()、TransformerFactory.newTransformer(Source source)、またはTemplates.newTransformer()で作成された時点の状態にリセットされます。reset()は、既存のTransformerの再使用を許可するように設計されているため、新しいTransformerの作成に関連するリソースを節約できます。Transformerをリセットした場合、同じURIResolverまたはErrorListenerObject(たとえば、Object.equals(Object obj))を持つことは保証されません。 機能的に同じURIResolverおよびErrorListenerを持つことは保証されます。- スロー:
UnsupportedOperationException- 実装がこのメソッドをオーバーライドしない場合。- 導入されたバージョン:
- 1.5
-
transform
public abstract void transform(Source xmlSource, Result outputTarget) throws TransformerException XML
SourceをResultに変換します。Transformerがインスタンス化され、Transformerインスタンスが変更された際の特定の変換動作は、有効なTransformerFactoryの設定によって判定されます。空の
Sourceは、DocumentBuilder.newDocument()によって構築された空のドキュメントとして表されます。 空のSourceの変換結果は、変換動作によって異なり、常に空のResultになるわけではありません。- パラメータ:
xmlSource- 変換するXML入力。outputTarget-xmlSourceの変換のResult。- スロー:
TransformerException- 変換中に回復不能なエラーが発生した場合。
-
setParameter
変換のパラメータを追加します。修飾名を、中括弧({})で囲まれた名前空間URIのあとにローカル名が続く2部形式の文字列として渡します。 名前がnullのURLを持つ場合、Stringにはローカル名だけが含まれます。 アプリケーションは、名前の最初の文字が「{」文字であるかどうかを判定して、nullでないURIを安全にチェックできます。
たとえば、<xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>で定義された要素からURIとローカル名を取得した場合、修飾名は「{http://xyz.foo.com/yada/baz.html}foo」となります。 接頭辞は使われません。
- パラメータ:
name- パラメータの名前。中括弧({})で囲まれた名前空間URIで始まる場合がある。value- 値オブジェクト。 任意の有効なJavaオブジェクトが可能。 適切なオブジェクト変換を提供するか、または拡張で使用するためにオブジェクトを単に渡すのはプロセッサのみです。- スロー:
NullPointerException- valueがnullである場合。
-
getParameter
-
clearParameters
public abstract void clearParameters()setParameterを使用して設定されたすべてのパラメータをクリアします。 -
setURIResolver
public abstract void setURIResolver(URIResolver resolver) document()で使用されるURIを解決するのに使用されるオブジェクトを設定します。resolverの引数がnullの場合、URIResolver値はクリアされ、transformerはresolverを持たなくなります。
- パラメータ:
resolver- URIResolverインタフェースを実装するオブジェクト、またはnull。
-
getURIResolver
public abstract URIResolver getURIResolver()document()で使用されるURIを解決するのに使用されるオブジェクトを取得します。- 戻り値:
- URIResolverインタフェースを実装するオブジェクト、またはnull。
-
setOutputProperties
public abstract void setOutputProperties(Properties oformat) 変換の出力プロパティを設定します。 これらのプロパティは、xsl:outputでTemplatesに設定されたプロパティをオーバーライドします。この関数の引数がnullの場合、以前に設定されたプロパティは削除され、値はテンプレート・オブジェクトで定義された値に戻されます。
修飾されたプロパティ・キー名を、中括弧({})で囲まれた名前空間URIのあとにローカル名が続く2部形式の文字列として渡します。 名前がnullのURLを持つ場合、Stringにはローカル名だけが含まれます。 アプリケーションは、名前の最初の文字が「{」文字であるかどうかを判定して、nullでないURIを安全にチェックできます。
たとえば、<xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>で定義された要素からURIとローカル名を取得した場合、修飾名は「{http://xyz.foo.com/yada/baz.html}foo」となります。 接頭辞は使われません。
どの引数キーも認識されず、名前空間で修飾されていない場合、IllegalArgumentExceptionがスローされます。- パラメータ:
oformat- 変換に影響する同じプロパティをオーバーライドするために使用される出力プロパティのセット。- スロー:
IllegalArgumentException- キーが認識されないか、名前空間で修飾されていない場合。- 関連項目:
-
getOutputProperties
public abstract Properties getOutputProperties()変換のための出力プロパティのコピーを取得します。
返されたプロパティには、ユーザーが設定したプロパティと、スタイル・シートで設定されたプロパティが含まれ、これらのプロパティは「XSL Transformations (XSLT) W3C Recommendation」のセクション16で指定されたデフォルトのプロパティで「デフォルト化」されます。 ユーザーまたはスタイル・シートによって特に設定されたプロパティは基本のPropertiesリストにあり、特に設定されなかったXSLTデフォルト・プロパティはデフォルトのPropertiesリストにあります。 したがって、getOutputProperties().getProperty(String key)は
setOutputProperty(java.lang.String, java.lang.String)またはsetOutputProperties(java.util.Properties)によって、またはスタイル・シートで設定されたプロパティ、またはデフォルトのプロパティを取得しますが、getOutputProperties().get(String key)は、setOutputProperty(java.lang.String, java.lang.String)、setOutputProperties(java.util.Properties)、またはスタイル・シートで明示的に設定されたプロパティだけを取得します。返されたPropertiesオブジェクトの変更は、transformerに含まれるプロパティには影響しません。
どの引数キーも認識されず、名前空間で修飾されていない場合、プロパティは無視され、返されません。 つまり、動作は
setOutputPropertiesと交錯しません。- 戻り値:
- 次の変換に有効な出力プロパティのセットのコピー。
- 関連項目:
-
setOutputProperty
public abstract void setOutputProperty(String name, String value) throws IllegalArgumentException 変換に有効な出力プロパティを設定します。修飾されたプロパティ名を、中括弧({})で囲まれた名前空間URIのあとにローカル名が続く2部形式の文字列として渡します。 名前がnullのURLを持つ場合、Stringにはローカル名だけが含まれます。 アプリケーションは、名前の最初の文字が「{」文字であるかどうかを判定して、nullでないURIを安全にチェックできます。
たとえば、<xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>で定義された要素からURIとローカル名を取得した場合、修飾名は「{http://xyz.foo.com/yada/baz.html}foo」となります。 接頭辞は使われません。
setOutputProperties(java.util.Properties)に渡されたPropertiesオブジェクトは、このメソッドの呼出しの影響を受けません。- パラメータ:
name- 出力プロパティ名を指定するnull以外のString。名前空間で修飾されている場合がある。value- 出力プロパティのnull以外の文字列値。- スロー:
IllegalArgumentException- プロパティがサポートされていないか、名前空間で修飾されていない場合。- 関連項目:
-
getOutputProperty
public abstract String getOutputProperty(String name) throws IllegalArgumentException transformerに有効な出力プロパティを取得します。
プロパティが
setOutputProperty(java.lang.String, java.lang.String)を使用して設定されている場合、その値が返されます。 そうでない場合、プロパティがスタイル・シートで明示的に指定されている場合、その値が返されます。 プロパティ値がデフォルト設定されている場合、つまりsetOutputProperty(java.lang.String, java.lang.String)を使用するかスタイル・シートで明示的に値が設定されていない場合、実装および入力スタイル・シートに応じて結果が異なる可能性があります。- パラメータ:
name- 出力プロパティ名を指定するnull以外のString。名前空間で修飾されている場合がある。- 戻り値:
- 出力プロパティ文字列値。プロパティが見つからなかった場合はnull。
- スロー:
IllegalArgumentException- プロパティがサポートされていない場合。- 関連項目:
-
setErrorListener
public abstract void setErrorListener(ErrorListener listener) throws IllegalArgumentException 変換に有効なエラー・イベント・リスナーを設定します。- パラメータ:
listener- 新しいエラー・リスナー。- スロー:
IllegalArgumentException- リスナーがnullである場合。
-
getErrorListener
public abstract ErrorListener getErrorListener()変換に有効なエラー・イベント・ハンドラを取得します。 実装はデフォルトのエラー・リスナーを提供する必要があります。- 戻り値:
- 現在のエラー・ハンドラ。nullは不可。
-