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 形式であり、上記のように定義されたシステム・プロパティであるキーを持つ実装クラスの完全指定名を含む。ServiceLoaderクラスで定義されているサービス・プロバイダのロード機能を使用して、デフォルトのロード・メカニズムによってサービスの実装の特定およびロードを試みる。サービス・プロバイダのロード機能は、現在のスレッドのコンテキスト・クラス・ローダーを使用してサービスのロードを試みる。コンテキスト・クラス・ローダーがnullの場合、システム・クラス・ローダーが使用されます。
アプリケーションが 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, 2014, Oracle and/or its affiliates. All rights reserved.