JavaTM Platform
Standard Ed. 6

javax.xml.transform
クラス TransformerFactory

java.lang.Object
  上位を拡張 javax.xml.transform.TransformerFactory
直系の既知のサブクラス:
SAXTransformerFactory

public abstract class TransformerFactory
extends Object

TransformerFactory インスタンスを使用して、Transformer および Templates オブジェクトを作成することができます。

 

どのファクトリ実装を作成するかを決めるシステムプロパティーの名前は javax.xml.transform.TransformerFactory です。このプロパティーは、TransformerFactory abstract クラスの具象サブクラスを命名します。このプロパティーが定義されていない場合は、プラットフォームのデフォルトが使用されます。


コンストラクタの概要
protected TransformerFactory()
          デフォルトのコンストラクタが意図的に保護されます。
 
メソッドの概要
abstract  Source getAssociatedStylesheet(Source source, String media, String title, String charset)
          「The xml-stylesheet processing instruction」から、指定された基準に一致する XML Source ドキュメントに関連付けられたスタイルシート仕様を取得します。
abstract  Object getAttribute(String name)
          ユーザーが基本となる実装の特定の属性を取り出すことができるようにします。
abstract  ErrorListener getErrorListener()
          TransformerFactory のエラーイベントハンドラを取得します。
abstract  boolean getFeature(String name)
          機能の値を検索します。
abstract  URIResolver getURIResolver()
          document()、xsl:import、または xsl:include で使用される URI を解決するために変換時にデフォルトで使用されるオブジェクトを取得します。
static TransformerFactory newInstance()
          TransformerFactory の新しいインスタンスを取得します。
static TransformerFactory newInstance(String factoryClassName, ClassLoader classLoader)
          ファクトリクラス名から TransformerFactory の新しいインスタンスを取得します。
abstract  Templates newTemplates(Source source)
          Source を処理して、ソースのコンパイル表現である Templates オブジェクトにします。
abstract  Transformer newTransformer()
          Source から Result へのコピーを実行する新しい Transformer (恒等変換) を作成します。
abstract  Transformer newTransformer(Source source)
          SourceTransformer Object に処理します。
abstract  void setAttribute(String name, Object value)
          ユーザーが基本となる実装に特定の属性を設定できるようにします。
abstract  void setErrorListener(ErrorListener listener)
          TransformerFactory のエラーイベントリスナーを設定します。
abstract  void setFeature(String name, boolean value)
          このファクトリによって生成された TransformerFactory および Transformer または Template の機能を設定します。
abstract  void setURIResolver(URIResolver resolver)
          document()、xsl:import、または xsl:include で使用される URI を解決するために変換時にデフォルトで使用されるオブジェクトを設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

TransformerFactory

protected TransformerFactory()
デフォルトのコンストラクタが意図的に保護されます。

メソッドの詳細

newInstance

public static TransformerFactory newInstance()
                                      throws TransformerFactoryConfigurationError

TransformerFactory の新しいインスタンスを取得します。この static メソッドは新しいファクトリインスタンスを作成します。 このメソッドは次の順序のルックアップ手順で、ロードする TransformerFactory 実装クラスを判定します。

 

アプリケーションが TransformerFactory への参照を取得すると、ファクトリを使用して transformer のインスタンスを設定および取得することができます。

戻り値:
新しい TransformerFactory インスタンス。null は不可
例外:
TransformerFactoryConfigurationError - 実装が使用できないか インスタンス化できない場合、スローされる

newInstance

public static TransformerFactory newInstance(String factoryClassName,
                                             ClassLoader classLoader)
                                      throws TransformerFactoryConfigurationError

ファクトリクラス名から TransformerFactory の新しいインスタンスを取得します。この機能は、classpath に複数のプロバイダが存在する場合に便利です。ロードするプロバイダを指定できるので、アプリケーションで詳細に制御できるようになります。

 

アプリケーションが TransformerFactory への参照を取得すると、ファクトリを使用して transformer のインスタンスを設定および取得することができます。

トラブルシューティングのヒント

 

jaxp.debug システムプロパティーを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグメッセージを System.err に出力します。

 

問題がある場合は次のコマンドを試してください。

 java -Djaxp.debug=1 YourProgram ....
 

パラメータ:
factoryClassName - javax.xml.transform.TransformerFactory の実装を提供する完全修飾のファクトリクラス名
classLoader - ファクトリクラスのロードに使用する ClassLoadernull の場合、 ファクトリクラスのロードには現在の Thread のコンテキスト classLoader が使用される
戻り値:
新しい TransformerFactory インスタンス。null は不可
例外:
TransformerFactoryConfigurationError - factoryClassNamenull の場合。または、 ファクトリクラスをロードおよびインスタンス化できない場合
導入されたバージョン:
1.6
関連項目:
newInstance()

newTransformer

public abstract Transformer newTransformer(Source source)
                                    throws TransformerConfigurationException

SourceTransformer Object に処理します。Source「XSL Transformations (XSLT) Version 1.0」に適合する XSLT ドキュメントです。この Transformer は同時に動作する複数の Thread で使用することはできません。異なる Thread では同時に使用される TransformerFactories も異なります。

パラメータ:
source - Transformer の作成に使用される XSLT ドキュメントの Source。 XML Source の例には、 DOMSourceSAXSource、および StreamSource がある
戻り値:
1 つの Thread で変換を実行するために使用される Transformer オブジェクト。 null は不可
例外:
TransformerConfigurationException - Source の構文解析時にエラーが発生するか、 Transformer インスタンスを作成できない場合に スローされる
関連項目:
XSL Transformations (XSLT) Version 1.0

newTransformer

public abstract Transformer newTransformer()
                                    throws TransformerConfigurationException

Source から Result へのコピーを実行する新しい Transformer (恒等変換) を作成します。

戻り値:
1 つのスレッドで変換を実行するために使用される Transformer オブジェクト。null は不可
例外:
TransformerConfigurationException - Transformer インスタンスを作成できない場合

newTemplates

public abstract Templates newTemplates(Source source)
                                throws TransformerConfigurationException
Source を処理して、ソースのコンパイル表現である Templates オブジェクトにします。この Templates オブジェクトは、複数のスレッドで同時に使用することができます。Templates オブジェクトを作成することにより、TransformerFactory は変換命令のパフォーマンスの最適化を詳細に行うことができ、実行時変換が低下することはありません。

パラメータ:
source - URL、入力ストリームなどを保持するオブジェクト
戻り値:
変換のために使用できる Templates オブジェクト。 null は不可
例外:
TransformerConfigurationException - Templates オブジェクト構築の 構文解析に失敗した場合

getAssociatedStylesheet

public abstract Source getAssociatedStylesheet(Source source,
                                               String media,
                                               String title,
                                               String charset)
                                        throws TransformerConfigurationException

「The xml-stylesheet processing instruction」から、指定された基準に一致する XML Source ドキュメントに関連付けられたスタイルシート仕様を取得します。いくつかのスタイルシートを返すことができます。 その場合、それらのスタイルシートは、1 つのスタイルシート内のインポートまたはカスケードのリストであるかのように適用されます。

パラメータ:
source - XML ソースドキュメント
media - 一致するメディア属性。null の場合があり、 その場合、設定されているテンプレートが使用される (つまり alternate = no)
title - 一致するタイトル属性の値。null の場合あり
charset - 一致する文字セット属性の値。null の場合あり
戻り値:
TransformerFactory に渡すのに適した Source Object
例外:
TransformerConfigurationException - source の構文解析時にエラーが発生した場合 Exception がスローされる
関連項目:
Associating Style Sheets with XML documents Version 1.0

setURIResolver

public abstract void setURIResolver(URIResolver resolver)
document()、xsl:import、または xsl:include で使用される URI を解決するために変換時にデフォルトで使用されるオブジェクトを設定します。

パラメータ:
resolver - URIResolver インタフェースを実装するオブジェクト、 または null

getURIResolver

public abstract URIResolver getURIResolver()
document()、xsl:import、または xsl:include で使用される URI を解決するために変換時にデフォルトで使用されるオブジェクトを取得します。

戻り値:
setURIResolver を使用して設定された URIResolver

setFeature

public abstract void setFeature(String name,
                                boolean value)
                         throws TransformerConfigurationException

このファクトリによって生成された TransformerFactory および Transformer または Template の機能を設定します。

機能名は完全修飾 URI です。 実装が独自の機能を定義することもできます。生成する TransformerFactoryTransformer、または Template がその機能をサポートできない場合は、TransformerConfigurationException がスローされます。TransformerFactory は機能の値を表示できますが、その状態を変更することはできません。

 

実装はすべて、XMLConstants.FEATURE_SECURE_PROCESSING 機能をサポートしている必要があります。この機能については次のとおりです。

パラメータ:
name - 機能名
value - 機能の状態が truefalse
例外:
TransformerConfigurationException - 作成する TransformerFactoryTransformer、または Template がこの機能をサポートできない場合
NullPointerException - name パラメータが null の場合

getFeature

public abstract boolean getFeature(String name)
機能の値を検索します。

機能名は完全修飾 URI です。実装が独自の機能を定義することもできます。生成する TransformerFactoryTransformer、または Template がその機能をサポートできない場合は、false が返されます。TransformerFactory は機能の値を表示できますが、その状態を変更することはできません。

パラメータ:
name - 機能名
戻り値:
機能の現在の状態。 true または false
例外:
NullPointerException - name パラメータが null の場合

setAttribute

public abstract void setAttribute(String name,
                                  Object value)
ユーザーが基本となる実装に特定の属性を設定できるようにします。このコンテキストの属性は、実装が提供するオプションとして定義されます。基本となる実装が属性を認識しない場合に IllegalArgumentException がスローされます。

パラメータ:
name - 属性の名前
value - 属性の値
例外:
IllegalArgumentException - 実装が属性を 認識しない場合

getAttribute

public abstract Object getAttribute(String name)
ユーザーが基本となる実装の特定の属性を取り出すことができるようにします。基本となる実装が属性を認識しない場合に IllegalArgumentException がスローされます。

パラメータ:
name - 属性の名前
戻り値:
属性の値
例外:
IllegalArgumentException - 実装が属性を 認識しない場合

setErrorListener

public abstract void setErrorListener(ErrorListener listener)
TransformerFactory のエラーイベントリスナーを設定します。TransformerFactory は、変換自体のためではなく、変換命令を処理するために使用されます。ErrorListener リスナーが null の場合、IllegalArgumentException がスローされます。

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

getErrorListener

public abstract ErrorListener getErrorListener()
TransformerFactory のエラーイベントハンドラを取得します。

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

JavaTM Platform
Standard Ed. 6

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

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