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)
Source を Transformer Object に処理します。 |
abstract void |
setAttribute(String name, Object value)
ユーザーがベースとなる実装に特定の属性を設定できるようにします。
|
abstract void |
setErrorListener(ErrorListener listener)
TransformerFactory のエラーイベントリスナーを設定します。TransformerFactory は、変換自体のためではなく、変換命令を処理するために使用されます。
|
abstract void |
setFeature(String name, boolean value)
このファクトリによって生成された
TransformerFactory および Transformer または Template の機能を設定します。 |
abstract void |
setURIResolver(URIResolver resolver)
document()、xsl:import、または xsl:include で使用される URI を解決するために変換時にデフォルトで使用されるオブジェクトを設定します。
|
public static TransformerFactory newInstance() throws TransformerFactoryConfigurationError
TransformerFactory の新しいインスタンスを取得します。この static メソッドは新しいファクトリインスタンスを作成します。このメソッドは次の順序のルックアップ手順で、ロードする TransformerFactory 実装クラスを判定します。
javax.xml.transform.TransformerFactory システムプロパティーを使用する。
java.util.Properties 形式であり、上記のように定義されたシステムプロパティーであるキーを持つ実装クラスの完全指定名を含む。
jaxp.properties ファイルは JAXP 実装によって 1 回だけ読み込まれ、その値がその後の使用のためキャッシュされる。最初の読み込み時にファイルが存在しないと、そのあとにその存在がチェックされることはない。最初に読み込まれたあと、jaxp.properties のプロパティーの値を変更することはできない。
META-INF/services/javax.xml.transform.TransformerFactory ファイルからクラス名を検索する。
TransformerFactory インスタンスをプラットフォームとする。
アプリケーションが TransformerFactory への参照を取得すると、ファクトリを使用して transformer のインスタンスを構成および取得することができます。
TransformerFactoryConfigurationError - 実装が使用できないかインスタンス化できない場合、スローされる。public static TransformerFactory newInstance(String factoryClassName, ClassLoader classLoader) throws TransformerFactoryConfigurationError
ファクトリクラス名から TransformerFactory の新しいインスタンスを取得します。この関数は、クラスパスに複数のプロバイダがある場合に便利です。どのプロバイダがロードされるかを指定できるため、アプリケーションをさらに制御できます。
アプリケーションが TransformerFactory への参照を取得すると、ファクトリを使用して transformer のインスタンスを構成および取得することができます。
jaxp.debug システムプロパティーを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグメッセージを System.err に出力します。
問題がある場合、次のようにします。
java -Djaxp.debug=1 YourProgram ....
factoryClassName - javax.xml.transform.TransformerFactory の実装を提供する完全指定のファクトリクラス名。classLoader - ファクトリクラスのロードに使用される ClassLoader。null の場合は、現在の Thread のコンテキスト classLoader が、ファクトリクラスのロードに使用されます。TransformerFactoryConfigurationError - factoryClassName が null、またはファクトリクラスをロードまたはインスタンス化できない場合。newInstance()public abstract Transformer newTransformer(Source source) throws TransformerConfigurationException
Source を Transformer Object に処理します。Source は「XSL Transformations (XSLT) Version 1.0」に適合する XSLT ドキュメントです。この Transformer は並行して動作する複数の Thread で使用することはできません。異なる TransformerFactories は、異なる Thread によって並行して使用できます。
source - Transformer の作成に使用される XSLT ドキュメントの Source 。XML Source の例には、DOMSource、SAXSource、および StreamSource が含まれます。Thread で変換を実行するために使用される Transformer オブジェクト。null は不可。TransformerConfigurationException - Source の構文解析時にエラーが発生するか、Transformer インスタンスを作成できない場合にスローされる。public abstract Transformer newTransformer() throws TransformerConfigurationException
Source の Result へのコピーを実行する新しい Transformer (恒等変換) を作成します。
TransformerConfigurationException - Transformer インスタンスを作成できない場合。public abstract Templates newTemplates(Source source) throws TransformerConfigurationException
source - URL、入力ストリームなどを保持するオブジェクト。null は不可。TransformerConfigurationException - Templates オブジェクト構築の構文解析に失敗した場合。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 がスローされる。public abstract void setURIResolver(URIResolver resolver)
resolver - URIResolver インタフェースを実装するオブジェクト、または null。public abstract URIResolver getURIResolver()
public abstract void setFeature(String name, boolean value) throws TransformerConfigurationException
このファクトリによって生成された TransformerFactory および Transformer または Template の機能を設定します。
機能名は完全指定 URI です。実装が独自の機能を定義することもできます。生成する TransformerFactory または Transformer または Template がその機能をサポートできない場合は、TransformerConfigurationException がスローされます。TransformerFactory は機能の値を表示できますが、その状態を変更することはできません。
実装はすべて、XMLConstants.FEATURE_SECURE_PROCESSING 機能をサポートしている必要があります。この機能については次のとおりです。
true: 実装は実装限界に準拠する XML 処理を制限し、実装で定義されたとおりのセキュリティー保護された方式で動作します。例としては、ユーザー定義スタイルシートや関数の解決などがあります。セキュリティー上の理由から XML 処理が制限される場合は、登録済みの ErrorListener.fatalError(TransformerException exception) へ呼び出しを介して報告されます。setErrorListener(ErrorListener listener) を参照してください。
false: 実装は実装限界に関係なく、XML 仕様に従って XML を処理します。
name - 機能名。value - 機能の状態が true か false か。TransformerConfigurationException - この TransformerFactory またはそれによって作成される Transformer または Template がこの機能をサポートできない場合。NullPointerException - name パラメータが null である場合。public abstract boolean getFeature(String name)
機能名は完全指定 URI です。実装が独自の機能を定義することもできます。生成する TransformerFactory、Transformer、または Template がその機能をサポートできない場合は、false が返されます。TransformerFactory は機能の値を表示できますが、その状態を変更することはできません。
name - 機能名。true または false。NullPointerException - name パラメータが null である場合。public abstract void setAttribute(String name, Object value)
IllegalArgumentException がスローされます。
JAXP 1.5 またはそれ以降を実装する実装はすべて、XMLConstants.ACCESS_EXTERNAL_DTD および XMLConstants.ACCESS_EXTERNAL_STYLESHEET プロパティーをサポートしている必要があります。
ソースファイル内の外部 DTD へのアクセスが、XMLConstants.ACCESS_EXTERNAL_DTD プロパティーで指定されたプロトコルに制限されます。このプロパティーの制限が原因で変換中にアクセスが拒否された場合は、Transformer.transform(Source, Result) によって TransformerException がスローされます。
スタイルシート内の外部 DTD へのアクセスが、XMLConstants.ACCESS_EXTERNAL_DTD プロパティーで指定されたプロトコルに制限されます。このプロパティーの制限が原因で新しいトランスフォーマの作成中にアクセスが拒否された場合は、newTransformer(Source) メソッドによって TransformerConfigurationException がスローされます。
スタイルシートの処理命令、Import および Include 要素によって設定された外部参照へのアクセスが、XMLConstants.ACCESS_EXTERNAL_STYLESHEET プロパティーで指定されたプロトコルに制限されます。このプロパティーの制限が原因で新しいトランスフォーマの作成中にアクセスが拒否された場合は、newTransformer(Source) メソッドによって TransformerConfigurationException がスローされます。
XSLT ドキュメント関数による外部ドキュメントへのアクセスが、そのプロパティーで指定されたプロトコルに制限されます。このプロパティーの制限が原因で変換中にアクセスが拒否された場合は、Transformer.transform(Source, Result) メソッドによって TransformerException がスローされます。
name - 属性の名前。value - 属性の値。IllegalArgumentException - 実装が属性を認識しない場合。public abstract Object getAttribute(String name)
IllegalArgumentException がスローされます。name - 属性の名前。IllegalArgumentException - 実装が属性を認識しない場合。public abstract void setErrorListener(ErrorListener listener)
ErrorListener リスナーが null の場合は IllegalArgumentException がスローされます。listener - 新しいエラーリスナー。IllegalArgumentException - listener が null の場合public abstract ErrorListener getErrorListener()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.