- java.lang.Object
-
- javax.xml.transform.TransformerFactory
-
- 直系の既知のサブクラス:
SAXTransformerFactory
public abstract class TransformerFactory extends Object
TransformerFactoryインスタンスを使用して、
TransformerおよびTemplatesオブジェクトを作成できます。どのファクトリ実装を作成するかを決めるシステム・プロパティの名前は
"javax.xml.transform.TransformerFactory"です。 このプロパティは、TransformerFactoryabstractクラスの具象サブクラスを命名します。 このプロパティが定義されていない場合は、プラットフォームのデフォルトが使用されます。- 導入されたバージョン:
- 1.5
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protectedTransformerFactory()デフォルトのコンストラクタが意図的に保護されます。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract SourcegetAssociatedStylesheet(Source source, String media, String title, String charset)「The xml-stylesheet processing instruction」から、指定された基準に一致するXMLSourceドキュメントに関連付けられているスタイル・シート仕様を取得します。abstract ObjectgetAttribute(String name)ユーザーがベースとなる実装の特定の属性を取り出すことができるようにします。abstract ErrorListenergetErrorListener()TransformerFactoryのエラー・イベント・ハンドラを取得します。abstract booleangetFeature(String name)機能の値を検索します。abstract URIResolvergetURIResolver()document()、xsl:import、またはxsl:includeで使用されるURIを解決するために変換時にデフォルトで使用されるオブジェクトを取得します。static TransformerFactorynewDefaultInstance()TransformerFactory組み込みシステムのデフォルト実装の新しいインスタンスを作成します。static TransformerFactorynewInstance()TransformerFactoryの新しいインスタンスを取得します。static TransformerFactorynewInstance(String factoryClassName, ClassLoader classLoader)ファクトリ・クラス名からTransformerFactoryの新しいインスタンスを取得します。abstract TemplatesnewTemplates(Source source)Sourceを処理して、ソースのコンパイル表現であるTemplatesオブジェクトにします。abstract TransformernewTransformer()SourceのResultへのコピーを実行する新しいTransformerを作成します。abstract TransformernewTransformer(Source source)SourceをTransformerObjectに処理します。abstract voidsetAttribute(String name, Object value)ユーザーがベースとなる実装に特定の属性を設定できるようにします。abstract voidsetErrorListener(ErrorListener listener)TransformerFactoryのエラー・イベント・リスナーを設定します。TransformerFactoryは、変換自体のためではなく、変換命令を処理するために使用されます。abstract voidsetFeature(String name, boolean value)このファクトリによって生成されたTransformerFactoryおよびTransformerまたはTemplateの機能を設定します。abstract voidsetURIResolver(URIResolver resolver)document()、xsl:import、またはxsl:includeで使用されるURIを解決するために変換時にデフォルトで使用されるオブジェクトを設定します。
-
-
-
メソッドの詳細
-
newDefaultInstance
public static TransformerFactory newDefaultInstance()
TransformerFactory組み込みシステムのデフォルト実装の新しいインスタンスを作成します。- 戻り値:
TransformerFactory組み込みシステムのデフォルト実装の新しいインスタンス。- 導入されたバージョン:
- 9
-
newInstance
public static TransformerFactory newInstance() throws TransformerFactoryConfigurationError
TransformerFactoryの新しいインスタンスを取得します。 このstaticメソッドは新しいファクトリ・インスタンスを作成します。このメソッドは次の順序の検索手順で、ロードする
TransformerFactory実装クラスを決定します。-
javax.xml.transform.TransformerFactoryシステム・プロパティを使用する。 -
構成ファイル"jaxp.properties"を使用します。 このファイルは標準の
Properties形式であり、通常Javaインストールのconfディレクトリにあります。 これには、実装クラスの完全修飾名が格納されています。jaxp.propertiesファイルはJAXP実装によって一度だけ読み込まれ、その値は将来の使用のためにキャッシュされます。 最初の読込み時にファイルが存在しないと、そのあとにその存在がチェックされることはない。 最初に読み込まれたあと、jaxp.propertiesのプロパティの値を変更することはできない。
-
ServiceLoaderクラスで定義されているサービス・プロバイダ・ローディング機能を使用して、デフォルトのロード・メカニズムを使用してサービスの実装を特定してロード: サービス・プロバイダ・ローディング機能は、現在のスレッド・コンテキスト・クラス・ローダーを使用してサービスをロードしようとします。 コンテキスト・クラス・ローダーがnullの場合、システム・クラス・ローダーが使用されます。 -
それ以外の場合は、system-default実装が返されます。
アプリケーションが
TransformerFactoryへの参照を取得すると、ファクトリを使用してtransformerのインスタンスを構成および取得することができます。- 戻り値:
- 新しいTransformerFactoryインスタンス。nullは不可。
- 例外:
TransformerFactoryConfigurationError- サービス構成エラーが発生した場合、または実装が使用できないかインスタンス化できない場合、スローされる。
-
-
newInstance
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が、ファクトリ・クラスのロードに使用されます。- 戻り値:
- 新しいTransformerFactoryインスタンス。nullは不可。
- 例外:
TransformerFactoryConfigurationError-factoryClassNameがnull、またはファクトリ・クラスをロードまたはインスタンス化できない場合。- 導入されたバージョン:
- 1.6
- 関連項目:
newInstance()
-
newTransformer
public abstract Transformer newTransformer(Source source) throws TransformerConfigurationException
SourceをTransformerObjectに処理します。Sourceは「XSL Transformations (XSLT) Version 1.0」に適合するXSLTドキュメントです。 このTransformerは並行して動作する複数のThreadで使用することはできません。 異なるTransformerFactoriesは、異なるThreadによって並行して使用できます。- パラメータ:
source-Transformerの作成に使用されるXSLTドキュメントのSource。 XMLSourceの例には、DOMSource、SAXSource、および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」から、指定された基準に一致するXMLSourceドキュメントに関連付けられているスタイル・シート仕様を取得します。 いくつかのスタイルシートを返すことができます。その場合、それらのスタイルシートは、1つのスタイルシート内のインポートまたはカスケードのリストであるかのように適用されます。- パラメータ:
source- XMLソース・ドキュメント。media- 一致するメディア属性。 nullの場合があり、その場合、設定されているテンプレートが使用される(つまりalternate = no)。title- 一致するタイトル属性の値。 nullも可。charset- 一致する文字セット属性の値。 nullも可。- 戻り値:
TransformerFactoryに渡すのに適したSourceObject。- 例外:
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です。 実装が独自の機能を定義することもできます。 生成する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である場合。
-
-
getFeature
public abstract boolean getFeature(String name)
機能の値を検索します。機能名は完全修飾
URIです。 実装が独自の機能を定義することもできます。このTransformerFactory、またはそれが生成するTransformerまたはTemplateがその機能をサポートできない場合は、falseが返されます。TransformerFactoryは機能の値を表示できますが、その状態を変更することはできません。- パラメータ:
name- 機能名。- 戻り値:
- 機能の現在の状態。
trueまたはfalse。 - 例外:
NullPointerException-nameパラメータがnullである場合。
-
setAttribute
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- 実装が属性を認識しない場合。
-
-
getAttribute
public abstract Object getAttribute(String name)
ユーザーがベースとなる実装の特定の属性を取り出すことができるようにします。 ベースとなる実装が属性を認識しない場合にIllegalArgumentExceptionがスローされます。- パラメータ:
name- 属性の名前。- 戻り値:
- 属性の値。
- 例外:
IllegalArgumentException- 実装が属性を認識しない場合。
-
setErrorListener
public abstract void setErrorListener(ErrorListener listener)
TransformerFactoryのエラー・イベント・リスナーを設定します。TransformerFactoryは、変換自体のためではなく、変換命令を処理するために使用されます。ErrorListenerリスナーがnullの場合はIllegalArgumentExceptionがスローされます。- パラメータ:
listener- 新しいエラー・リスナー。- 例外:
IllegalArgumentException-listenerがnullの場合
-
getErrorListener
public abstract ErrorListener getErrorListener()
TransformerFactoryのエラー・イベント・ハンドラを取得します。- 戻り値:
- 現在のエラー・ハンドラ。nullは不可。
-
-