モジュール java.xml
パッケージ javax.xml.transform

クラスTransformer

java.lang.Object
javax.xml.transform.Transformer

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

このクラスのインスタンスはTransformerFactory.newTransformerメソッドにより取得できます。 その後、このインスタンスを使用して、さまざまなソースからXMLを処理し、変換結果をさまざまなシンクに出力することができます。

このクラスのオブジェクトは並行して動作する複数のスレッドで使用することはできません。 異なるスレッドでは並行して使用されるTransformerも異なります。

Transformerは複数回使用できます。 パラメータと出力プロパティは変換全体を通して保持されます。

導入されたバージョン:
1.4
  • コンストラクタのサマリー

    コンストラクタ 
    修飾子 コンストラクタ 説明
    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で宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • コンストラクタの詳細

    • 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 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は不可。