public abstract class Transformer extends Object
このクラスのインスタンスはTransformerFactory.newTransformer
メソッドにより取得できます。その後、このインスタンスを使用して、さまざまなソースからXMLを処理し、変換結果をさまざまなシンクに出力することができます。
このクラスのオブジェクトは並行して動作する複数のスレッドで使用することはできません。異なるスレッドでは並行して使用されるTransformerも異なります。
Transformer
は複数回使用できます。パラメータと出力プロパティは変換全体を通して保持されます。
修飾子 | コンストラクタと説明 |
---|---|
protected |
Transformer()
デフォルトのコンストラクタが意図的に保護されます。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract void |
clearParameters()
setParameterを使用して設定されたすべてのパラメータをクリアします。
|
abstract ErrorListener |
getErrorListener()
変換に有効なエラー・イベント・ハンドラを取得します。
|
abstract Properties |
getOutputProperties()
変換のための出力プロパティのコピーを取得します。
|
abstract String |
getOutputProperty(String name)
transformerに有効な出力プロパティを取得します。
|
abstract Object |
getParameter(String name)
setParameterを使用して明示的に設定されたパラメータを取得します。
|
abstract URIResolver |
getURIResolver()
document()で使用されるURIを解決するのに使用されるオブジェクトを取得します。
|
void |
reset()
この
Transformer を元の構成にリセットします。 |
abstract void |
setErrorListener(ErrorListener listener)
変換に有効なエラー・イベント・リスナーを設定します。
|
abstract void |
setOutputProperties(Properties oformat)
変換の出力プロパティを設定します。
|
abstract void |
setOutputProperty(String name, String value)
変換に有効な出力プロパティを設定します。
|
abstract void |
setParameter(String name, Object value)
変換のパラメータを追加します。
|
abstract void |
setURIResolver(URIResolver resolver)
document()で使用されるURIを解決するのに使用されるオブジェクトを設定します。
|
abstract void |
transform(Source xmlSource, Result outputTarget)
XML
Source をResult に変換します。 |
public void reset()
このTransformer
を元の構成にリセットします。
Transformer
は、TransformerFactory.newTransformer()
、TransformerFactory.newTransformer(Source source)
、またはTemplates.newTransformer()
で作成された時点の状態にリセットされます。reset()
は、既存のTransformer
の再使用を許可するように設計されているため、新しいTransformer
の作成に関連するリソースを節約できます。
Transformer
をリセットした場合、同じURIResolver
またはErrorListener
Object
(たとえば、Object.equals(Object obj)
)を持つことは保証されません。機能的に同じURIResolver
およびErrorListener
を持つことは保証されます。
UnsupportedOperationException
- 実装がこのメソッドをオーバーライドしない場合。public abstract void transform(Source xmlSource, Result outputTarget) throws TransformerException
XML Source
をResult
に変換します。Transformer
がインスタンス化され、Transformer
インスタンスが変更された際の特定の変換動作は、有効なTransformerFactory
の設定によって判定されます。
空のSource
は、DocumentBuilder.newDocument()
によって構築された空のドキュメントとして表されます。空のSource
の変換結果は、変換動作によって異なり、常に空のResult
になるわけではありません。
xmlSource
- 変換するXML入力。outputTarget
- xmlSource
の変換のResult
。TransformerException
- 変換中に回復不能なエラーが発生した場合。public abstract void setParameter(String name, Object value)
修飾名を、中括弧({})で囲まれた名前空間URIのあとにローカル名が続く2部形式の文字列として渡します。名前がnullのURLを持つ場合、Stringにはローカル名だけが含まれます。アプリケーションは、名前の最初の文字が「{」文字であるかどうかを判定して、nullでないURIを安全にチェックできます。
たとえば、<xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>で定義された要素からURIとローカル名を取得した場合、修飾名は「{http://xyz.foo.com/yada/baz.html}foo」となります。接頭辞は使われません。
name
- パラメータの名前。中括弧({})で囲まれた名前空間URIで始まる場合がある。value
- 値オブジェクト。任意の有効なJavaオブジェクトが可能。適切なオブジェクトの強制を提供すること、または展開で使用するために単にオブジェクトを渡すことは、処理する側で行う。NullPointerException
- valueがnullである場合。public abstract Object getParameter(String name)
このメソッドはデフォルトのパラメータ値を返しません。パラメータ値は、変換処理中にノード・コンテキストが評価されるまで決定できません。
name
- 取得するObject
の名前。public abstract void clearParameters()
public abstract void setURIResolver(URIResolver resolver)
resolverの引数がnullの場合、URIResolver値はクリアされ、transformerはresolverを持たなくなります。
resolver
- URIResolverインタフェースを実装するオブジェクト、またはnull。public abstract URIResolver getURIResolver()
public abstract void setOutputProperties(Properties oformat)
この関数の引数がnullの場合、以前に設定されたプロパティは削除され、値はテンプレート・オブジェクトで定義された値に戻されます。
修飾されたプロパティ・キー名を、中括弧({})で囲まれた名前空間URIのあとにローカル名が続く2部形式の文字列として渡します。名前がnullのURLを持つ場合、Stringにはローカル名だけが含まれます。アプリケーションは、名前の最初の文字が「{」文字であるかどうかを判定して、nullでないURIを安全にチェックできます。
たとえば、<xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>で定義された要素からURIとローカル名を取得した場合、修飾名は「{http://xyz.foo.com/yada/baz.html}foo」となります。接頭辞は使われません。
どの引数キーも認識されず、名前空間で修飾されていない場合、IllegalArgumentException
がスローされます。oformat
- 変換に影響する同じプロパティをオーバーライドするために使用される出力プロパティのセット。IllegalArgumentException
- キーが認識されないか、名前空間で修飾されていない場合。OutputKeys
, Properties
public abstract Properties getOutputProperties()
変換のための出力プロパティのコピーを取得します。
返されたプロパティには、ユーザーが設定したプロパティと、スタイル・シートで設定されたプロパティが含まれ、これらのプロパティは「XSL Transformations (XSLT) W3C Recommendation」のセクション16で指定されたデフォルトのプロパティで「デフォルト化」されます。ユーザーまたはスタイル・シートによって特に設定されたプロパティは基本のPropertiesリストにあり、特に設定されなかったXSLTデフォルト・プロパティはデフォルトのPropertiesリストにあります。したがって、getOutputProperties().getProperty(String key)はsetOutputProperty(java.lang.String, java.lang.String)
またはsetOutputProperties(java.util.Properties)
によって、またはスタイル・シートで設定されたプロパティ、またはデフォルトのプロパティを取得しますが、getOutputProperties().get(String key)は、setOutputProperty(java.lang.String, java.lang.String)
、setOutputProperties(java.util.Properties)
、またはスタイル・シートで明示的に設定されたプロパティだけを取得します。
返されたPropertiesオブジェクトの変更は、transformerに含まれるプロパティには影響しません。
どの引数キーも認識されず、名前空間で修飾されていない場合、プロパティは無視され、返されません。つまり、動作はsetOutputProperties
と交錯しません。
OutputKeys
, Properties
, XSL Transformations (XSLT) Version 1.0public abstract void setOutputProperty(String name, String value) throws IllegalArgumentException
修飾されたプロパティ名を、中括弧({})で囲まれた名前空間URIのあとにローカル名が続く2部形式の文字列として渡します。名前がnullのURLを持つ場合、Stringにはローカル名だけが含まれます。アプリケーションは、名前の最初の文字が「{」文字であるかどうかを判定して、nullでないURIを安全にチェックできます。
たとえば、<xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>で定義された要素からURIとローカル名を取得した場合、修飾名は「{http://xyz.foo.com/yada/baz.html}foo」となります。接頭辞は使われません。
setOutputProperties(java.util.Properties)
に渡されたPropertiesオブジェクトは、このメソッドの呼出しの影響を受けません。
name
- 出力プロパティ名を指定するnull以外のString。名前空間で修飾されている場合がある。value
- 出力プロパティのnull以外の文字列値。IllegalArgumentException
- プロパティがサポートされていないか、名前空間で修飾されていない場合。OutputKeys
public abstract String getOutputProperty(String name) throws IllegalArgumentException
transformerに有効な出力プロパティを取得します。
プロパティがsetOutputProperty(java.lang.String, java.lang.String)
を使用して設定されている場合、その値が返されます。そうでない場合、プロパティがスタイル・シートで明示的に指定されている場合、その値が返されます。プロパティ値がデフォルト設定されている場合、つまりsetOutputProperty(java.lang.String, java.lang.String)
を使用するかスタイル・シートで明示的に値が設定されていない場合、実装および入力スタイル・シートに応じて結果が異なる可能性があります。
name
- 出力プロパティ名を指定するnull以外のString。名前空間で修飾されている場合がある。IllegalArgumentException
- プロパティがサポートされていない場合。OutputKeys
public abstract void setErrorListener(ErrorListener listener) throws IllegalArgumentException
listener
- 新しいエラー・リスナー。IllegalArgumentException
- リスナーがnullである場合。public abstract ErrorListener getErrorListener()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。