- java.lang.Object
-
- javax.xml.transform.TransformerFactory
-
- 直系の既知のサブクラス:
SAXTransformerFactory
public abstract class TransformerFactory extends Object
TransformerFactoryインスタンスを使用して、
Transformer
およびTemplates
オブジェクトを作成できます。どのファクトリ実装を作成するかを決めるシステム・プロパティの名前は
"javax.xml.transform.TransformerFactory"
です。 このプロパティは、TransformerFactory
abstractクラスの具象サブクラスを命名します。 このプロパティが定義されていない場合は、プラットフォームのデフォルトが使用されます。- 導入されたバージョン:
- 1.5
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
TransformerFactory()
デフォルトのコンストラクタが意図的に保護されます。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract Source
getAssociatedStylesheet(Source source, String media, String title, String charset)
「The xml-stylesheet processing instruction」から、指定された基準に一致するXMLSource
ドキュメントに関連付けられているスタイル・シート仕様を取得します。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
newDefaultInstance()
TransformerFactory
組み込みシステムのデフォルト実装の新しいインスタンスを作成します。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を解決するために変換時にデフォルトで使用されるオブジェクトを設定します。
-
-
-
メソッドの詳細
-
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
をTransformer
Object
に処理します。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
に渡すのに適した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
です。 実装が独自の機能を定義することもできます。 生成する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は不可。
-
-