public abstract class XMLOutputFactory extends Object
構成パラメータ | ||||
---|---|---|---|---|
プロパティ名 | 動作 | 戻り型 | デフォルト値 | 必須 |
javax.xml.stream.isRepairingNamespaces | 出力側の接頭辞のデフォルトを設定します | Boolean | False | はい |
次に、名前空間と接頭辞の修復アルゴリズムについて説明します。
プロパティは次のコード行で設定できます。setProperty("javax.xml.stream.isRepairingNamespaces",new Boolean(true|false));
このプロパティは、ライターのデフォルトの名前空間接頭辞の宣言を指定します。デフォルト値はfalseです。
ライターが名前空間を補修する場合、ライターはスコープ内に名前空間宣言を現在持たないすべての属性に対して、現在のStartElementに名前空間宣言を作成します。StartElementにURIが指定されているが、接頭辞が指定されていない場合、接頭辞が割り当てられます。現在のStartElementの親で接頭辞が宣言されていない場合、接頭辞は現在のStartElementで宣言されます。defaultNamespaceがバインドされていてスコープ内にあり、デフォルトの名前空間が属性のURIまたはStartElement QNameに一致する場合、接頭辞は割り当てられません。
要素名または属性名に接頭辞が含まれるが、どの名前空間URIにもバインドされていない場合、直列化中に接頭辞が削除されます。
同じ開始タグまたは空の要素タグ内の要素名や属性名が異なる名前空間URIにバインドされていて、同じ接頭辞を使用している場合、要素または最初に現れる属性は元の接頭辞を保持し、後続の属性は接頭辞を属性の名前空間URIにバインドされた新しい接頭辞で置き換えます。
要素名または属性名が、要素の親の名前空間コンテキストから継承したものとは異なるURIにバインドされている接頭辞を使用し、現在の要素のコンテキストに名前空間宣言が存在しない場合、そのような名前空間宣言が追加されます。
要素名または属性名が接頭辞にバインドされていて、接頭辞を別のURIにバインドする名前空間宣言が存在する場合、その名前空間宣言は、正しいマッピングがその要素の親コンテキストから継承されている場合は削除され、それ以外の場合はその接頭辞を使用する要素または属性の名前空間URIに変更されます。
XMLInputFactory
, XMLEventWriter
, XMLStreamWriter
修飾子と型 | フィールドと説明 |
---|---|
static String |
IS_REPAIRING_NAMESPACES
接頭辞を出力側でデフォルト設定するために使用されるプロパティ。
|
修飾子 | コンストラクタと説明 |
---|---|
protected |
XMLOutputFactory() |
修飾子と型 | メソッドと説明 |
---|---|
abstract XMLEventWriter |
createXMLEventWriter(OutputStream stream)
ストリームへの書込みを行う新しいXMLEventWriterを作成します。
|
abstract XMLEventWriter |
createXMLEventWriter(OutputStream stream, String encoding)
ストリームへの書込みを行う新しいXMLEventWriterを作成します。
|
abstract XMLEventWriter |
createXMLEventWriter(Result result)
JAXP結果への書込みを行う新しいXMLEventWriterを作成します。
|
abstract XMLEventWriter |
createXMLEventWriter(Writer stream)
ライターへの書込みを行う新しいXMLEventWriterを作成します。
|
abstract XMLStreamWriter |
createXMLStreamWriter(OutputStream stream)
ストリームへの書込みを行う新しいXMLStreamWriterを作成します。
|
abstract XMLStreamWriter |
createXMLStreamWriter(OutputStream stream, String encoding)
ストリームへの書込みを行う新しいXMLStreamWriterを作成します。
|
abstract XMLStreamWriter |
createXMLStreamWriter(Result result)
JAXP結果への書込みを行う新しいXMLStreamWriterを作成します。
|
abstract XMLStreamWriter |
createXMLStreamWriter(Writer stream)
ライターへの書込みを行う新しいXMLStreamWriterを作成します。
|
abstract Object |
getProperty(String name)
ベースとなる実装から機能またはプロパティを取得します。
|
abstract boolean |
isPropertySupported(String name)
このファクトリがサポートするプロパティ・セットを照会します。
|
static XMLOutputFactory |
newFactory()
ファクトリの新しいインスタンスを作成します。
|
static XMLOutputFactory |
newFactory(String factoryId, ClassLoader classLoader)
ファクトリの新しいインスタンスを作成します。
|
static XMLOutputFactory |
newInstance()
newFactory() メソッドとまったく同様にファクトリの新しいインスタンスを作成します。 |
static XMLInputFactory |
newInstance(String factoryId, ClassLoader classLoader)
非推奨。
このメソッドは、間違ったクラスであるXMLInputFactoryのインスタンスを返すため、非推奨になっています。代わりに、新しいメソッド
newFactory(java.lang.String, java.lang.ClassLoader) を使用してください。 |
abstract void |
setProperty(String name, Object value)
ユーザーがベースとなる実装に特定の機能とプロパティを設定できるようにします。
|
public static XMLOutputFactory newInstance() throws FactoryConfigurationError
newFactory()
メソッドとまったく同様にファクトリの新しいインスタンスを作成します。FactoryConfigurationError
- このファクトリのインスタンスをロードできない場合public static XMLOutputFactory newFactory() throws FactoryConfigurationError
このstaticメソッドは新しいファクトリ・インスタンスを作成します。このメソッドは次の順序の検索手順で、ロードするXMLOutputFactory実装クラスを決定します。
ServiceLoader
クラスで定義されているサービス・プロバイダのロード機能を使用して、デフォルトのロード・メカニズムによってサービスの実装の特定およびロードを試みる。サービス・プロバイダのロード機能は、現在のスレッドのコンテキスト・クラス・ローダーを使用してサービスのロードを試みる。コンテキスト・クラス・ローダーがnullの場合、システム・クラス・ローダーが使用されます。
アプリケーションがXMLOutputFactoryへの参照を取得すると、ファクトリを使用してストリームのインスタンスを構成および取得できます。
これは非推奨のnewInstance()メソッドを置き換える新しいメソッドです。非推奨のメソッドに関連して、この置換メソッドによって定義されている動作に変更はありません。
FactoryConfigurationError
- サービス構成エラーが発生した場合、または実装が使用できないかインスタンス化できない場合。public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
newFactory(java.lang.String, java.lang.ClassLoader)
を使用してください。factoryId
- 検索するファクトリの名前。プロパティ名と同一classLoader
- 使用するclassLoaderFactoryConfigurationError
- このファクトリのインスタンスをロードできない場合public static XMLOutputFactory newFactory(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
このメソッドは次の順序の検索手順で、ロードするXMLOutputFactory実装クラスを決定します。
factoryId
によって識別されるシステム・プロパティの値を使用する。
factoryId
であるキーを持つ実装クラスの完全修飾名を含む。
factoryId
が「javax.xml.stream.XMLOutputFactory」である場合、ServiceLoader
クラスで定義されているサービス・プロバイダのロード機能を使用して、指定されたClassLoader
によってサービスの実装の特定およびロードを試みる。classLoader
がnullである場合、デフォルトのロード・メカニズムが適用される。つまり、サービス・プロバイダのロード機能は、現在のスレッドのコンテキスト・クラス・ローダーを使用してサービスのロードを試みる。コンテキスト・クラス・ローダーがnullの場合、システム・クラス・ローダーが使用されます。
FactoryConfigurationError
をスローする。
これは非推奨のnewInstance(String factoryId、ClassLoader classLoader)
メソッドを置き換える新しいメソッドです。元のメソッドは、XMLInputFactoryを返すように誤って定義されていました。
factoryId
- 検索するファクトリの名前。プロパティ名と同一classLoader
- 使用するclassLoaderFactoryConfigurationError
- サービス構成エラーが発生した場合、または実装が使用できないかインスタンス化できない場合。public abstract XMLStreamWriter createXMLStreamWriter(Writer stream) throws XMLStreamException
stream
- 書込み先のライターXMLStreamException
public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream) throws XMLStreamException
stream
- 書込み先のストリームXMLStreamException
public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream, String encoding) throws XMLStreamException
stream
- 書込み先のストリームencoding
- 使用するエンコーディングXMLStreamException
public abstract XMLStreamWriter createXMLStreamWriter(Result result) throws XMLStreamException
result
- 書込み先の結果UnsupportedOperationException
- このXMLOutputFactoryでこのメソッドがサポートされていない場合XMLStreamException
public abstract XMLEventWriter createXMLEventWriter(Result result) throws XMLStreamException
result
- 書込み先の結果UnsupportedOperationException
- このXMLOutputFactoryでこのメソッドがサポートされていない場合XMLStreamException
public abstract XMLEventWriter createXMLEventWriter(OutputStream stream) throws XMLStreamException
stream
- 書込み先のストリームXMLStreamException
public abstract XMLEventWriter createXMLEventWriter(OutputStream stream, String encoding) throws XMLStreamException
stream
- 書込み先のストリームencoding
- 使用するエンコーディングXMLStreamException
public abstract XMLEventWriter createXMLEventWriter(Writer stream) throws XMLStreamException
stream
- 書込み先のストリームXMLStreamException
public abstract void setProperty(String name, Object value) throws IllegalArgumentException
name
- プロパティの名前value
- プロパティの値IllegalArgumentException
- プロパティがサポートされていない場合public abstract Object getProperty(String name) throws IllegalArgumentException
name
- プロパティの名前IllegalArgumentException
- プロパティがサポートされていない場合public abstract boolean isPropertySupported(String name)
name
- プロパティの名前(null以外) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.