public abstract class Transformer extends Object
このクラスのインスタンスは TransformerFactory.newTransformer
メソッドにより取得できます。その後、このインスタンスを使用して、さまざまなソースから XML を処理し、変換結果をさまざまなシンクに出力することができます。
このクラスのオブジェクトは並行して動作する複数のスレッドで使用することはできません。異なるスレッドでは並行して使用される Transformer も異なります。
Transformer
は複数回使用できます。パラメータと出力プロパティーは変換全体を通して保持されます。
修飾子 | コンストラクタと説明 |
---|---|
protected |
Transformer()
デフォルトのコンストラクタが意図的に保護されます。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract void |
clearParameters()
setParameter を使用して設定されたすべてのパラメータをクリアーします。
|
abstract ErrorListener |
getErrorListener()
変換に有効なエラーイベントハンドラを取得します。
|
abstract Properties |
getOutputProperties()
変換のための出力プロパティーのコピーを取得します。
|
abstract String |
getOutputProperty(String name)
transformer に有効な出力プロパティーを取得します。
|
abstract Object |
getParameter(String name)
setParameter を使用して明示的に設定されたパラメータを取得します。
|
abstract URIResolver |
getURIResolver()
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 |
transform(Source xmlSource, Result outputTarget)
XML
Source を Result に変換します。 |
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
- 実装がこのメソッドをオーバーライドしない場合。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
- 変換中に回復不能なエラーが発生した場合。public abstract void setParameter(String name, Object value)
修飾名を、中括弧 ({}) で囲まれた名前空間 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 である場合。public abstract Object getParameter(String name)
このメソッドはデフォルトのパラメータ値を返しません。パラメータ値は、変換処理中にノードコンテキストが評価されるまで決定できません。
name
- 取得する Object
の名前。public abstract void clearParameters()
public abstract void setURIResolver(URIResolver resolver)
resolver の引数が null の場合、URIResolver 値はクリアーされ、transformer は resolver を持たなくなります。
resolver
- URIResolver インタフェースを実装するオブジェクト、または null。public abstract URIResolver getURIResolver()
public abstract void setOutputProperties(Properties oformat)
この関数の引数が 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
- キーが認識されないか、名前空間で修飾されていない場合。OutputKeys
, Properties
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
と交錯しません。
OutputKeys
, Properties
, XSL Transformations (XSLT) Version 1.0public 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
- プロパティーがサポートされていないか、名前空間で修飾されていない場合。OutputKeys
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。名前空間で修飾されている場合がある。IllegalArgumentException
- プロパティーがサポートされていない場合。OutputKeys
public abstract void setErrorListener(ErrorListener listener) throws IllegalArgumentException
listener
- 新しいエラーリスナー。IllegalArgumentException
- リスナーが null である場合。public abstract ErrorListener getErrorListener()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.