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

クラスTransformer



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

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

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

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

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

      • Transformer

        protected Transformer​()
        デフォルトのコンストラクタが意図的に保護されます。
    • メソッドの詳細

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