JavaTM Platform
Standard Ed. 6

javax.xml.transform
クラス Transformer

java.lang.Object
  上位を拡張 javax.xml.transform.Transformer

public abstract class Transformer
extends Object

この abstract クラスのインスタンスは、ソースツリーを結果ツリーに変換することができます。  

このクラスのインスタンスを取得するには、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 SourceResult に変換します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

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) などです。機能的に同じ URIResolverErrorListener を持つことは保証されます。

例外:
UnsupportedOperationException - 実装がこのメソッドを オーバーライドしない場合
導入されたバージョン:
1.5

transform

public abstract void transform(Source xmlSource,
                               Result outputTarget)
                        throws TransformerException
 

XML SourceResult に変換します。Transformer がインスタンス化され、Transformer インスタンスが変更された際の特定の変換動作は、有効な TransformerFactory の設定によって判定されます。

 

空の Source は、DocumentBuilder.newDocument() によって構築された空のドキュメントとして表されます。空の Source の変換結果は、変換動作によって異なり、常に空の Result になるわけではありません。

パラメータ:
xmlSource - 変換する XML 入力
outputTarget - xmlSource の変換の Result
例外:
TransformerException - 変換中に回復不能な エラーが発生した場合

setParameter

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 の場合

getParameter

public abstract Object getParameter(String name)
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 - キーが認識されないか、 名前空間で修飾されていない場合
関連項目:
OutputKeys, Properties

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 と交錯しません。

戻り値:
次の変換に有効な出力プロパティーの セットのコピー
関連項目:
OutputKeys, Properties, XSL Transformations (XSLT) Version 1.0

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 - プロパティーがサポートされていないか、 名前空間で修飾されていない場合
関連項目:
OutputKeys

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 - プロパティーがサポートされていない場合
関連項目:
OutputKeys

setErrorListener

public abstract void setErrorListener(ErrorListener listener)
                               throws IllegalArgumentException
変換に有効なエラーイベントリスナーを設定します。

パラメータ:
listener - 新しいエラーリスナー
例外:
IllegalArgumentException - リスナーが null の場合

getErrorListener

public abstract ErrorListener getErrorListener()
変換に有効なエラーイベントハンドラを取得します。実装はデフォルトのエラーリスナーを提供する必要があります。

戻り値:
現在のエラーハンドラ。null は不可

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。