JavaTM 2 Platform
Standard Ed. 5.0

javax.xml.transform
クラス Transformer

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

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 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 を持つことは保証されます。

導入されたバージョン:
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 - 変換に影響する同じプロパティをオーバーライドするために使用される出力プロパティのセット
関連項目:
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 を使用して設定されたプロパティか、スタイルシートで指定されたプロパティである場合があります。

パラメータ:
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 2 Platform
Standard Ed. 5.0

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

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