このクラスのインスタンスはTransformerFactory.newTransformer
メソッドにより取得できます。 その後、このインスタンスを使用して、さまざまなソースからXMLを処理し、変換結果をさまざまなシンクに出力することができます。
このクラスのオブジェクトは並行して動作する複数のスレッドで使用することはできません。 異なるスレッドでは並行して使用されるTransformerも異なります。
Transformer
は複数回使用できます。 パラメータと出力プロパティは変換全体を通して保持されます。
- 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明abstract void
setParameterを使用して設定されたすべてのパラメータをクリアします。abstract ErrorListener
変換に有効なエラー・イベント・ハンドラを取得します。abstract Properties
変換のための出力プロパティのコピーを取得します。abstract String
getOutputProperty
(String name) transformerに有効な出力プロパティを取得します。abstract Object
getParameter
(String name) setParameterを使用して明示的に設定されたパラメータを取得します。abstract URIResolver
document()で使用されるURIを解決するのに使用されるオブジェクトを取得します。void
reset()
このTransformer
を元の構成にリセットします。abstract void
setErrorListener
(ErrorListener listener) 変換に有効なエラー・イベント・リスナーを設定します。abstract void
setOutputProperties
(Properties oformat) 変換の出力プロパティを設定します。abstract void
setOutputProperty
(String name, String value) 変換に有効な出力プロパティを設定します。abstract void
setParameter
(String name, Object value) 変換のパラメータを追加します。abstract void
setURIResolver
(URIResolver resolver) document()で使用されるURIを解決するのに使用されるオブジェクトを設定します。abstract void
XMLSource
をResult
に変換します。
-
コンストラクタの詳細
-
Transformer
protected Transformer()デフォルトのコンストラクタが意図的に保護されます。
-
-
メソッドの詳細
-
reset
public void reset()この
Transformer
を元の構成にリセットします。Transformer
は、TransformerFactory.newTransformer()
、TransformerFactory.newTransformer(Source source)
、またはTemplates.newTransformer()
で作成された時点の状態にリセットされます。reset()
は、既存のTransformer
の再使用を許可するように設計されているため、新しいTransformer
の作成に関連するリソースを節約できます。Transformer
をリセットした場合、同じURIResolver
またはErrorListener
Object
(たとえば、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
setParameterを使用して明示的に設定されたパラメータを取得します。このメソッドはデフォルトのパラメータ値を返しません。パラメータ値は、変換処理中にノード・コンテキストが評価されるまで決定できません。
- パラメータ:
name
- 取得するObject
の名前。- 戻り値:
- setParameterを使用して設定されたパラメータ。
-
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は不可。
-