JavaTM Platform
Standard Ed. 6

javax.xml.stream
クラス XMLOutputFactory

java.lang.Object
  上位を拡張 javax.xml.stream.XMLOutputFactory

public abstract class XMLOutputFactory
extends Object

XMLEventWriter および XMLStreamWriter を取得するためのファクトリの抽象実装を定義します。 次の表に、この仕様の標準プロパティーの定義を示します。各プロパティーは、実装ごとに必要となるサポートのレベルが異なります。必要なサポートレベルは、「必須」の列に示されています。

構成パラメータ
プロパティー名 動作 戻り型 デフォルト値 必須
javax.xml.stream.isRepairingNamespaces出力側の接頭辞のデフォルトを設定しますBooleanFalseあり
 

次に、名前空間と接頭辞の修復アルゴリズムについて説明します。

 

プロパティーは、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 に変更されます。

導入されたバージョン:
1.6
関連項目:
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 newInstance()
          ファクトリの新しいインスタンスを作成します。
static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader)
          Create a new instance of the factory.
abstract  void setProperty(String name, Object value)
          ユーザーが基本となる実装に特定の機能とプロパティーを設定できるようにします。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

IS_REPAIRING_NAMESPACES

public static final String IS_REPAIRING_NAMESPACES
接頭辞を出力側でデフォルト設定するために使用されるプロパティー。

関連項目:
定数フィールド値
コンストラクタの詳細

XMLOutputFactory

protected XMLOutputFactory()
メソッドの詳細

newInstance

public static XMLOutputFactory newInstance()
                                    throws FactoryConfigurationError
ファクトリの新しいインスタンスを作成します。

例外:
FactoryConfigurationError - このファクトリのインスタンスがロードできない場合

newInstance

public static XMLInputFactory newInstance(String factoryId,
                                          ClassLoader classLoader)
                                   throws FactoryConfigurationError
Create a new instance of the factory.

パラメータ:
factoryId - Name of the factory to find, same as a property name
classLoader - classLoader to use
戻り値:
the factory implementation
例外:
FactoryConfigurationError - if an instance of this factory cannot be loaded

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Writer stream)
                                               throws XMLStreamException
ライターへの書き込みを行う新しい XMLStreamWriter を作成します。

パラメータ:
stream - 書き込み先のライター
例外:
XMLStreamException

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream)
                                               throws XMLStreamException
ストリームへの書き込みを行う新しい XMLStreamWriter を作成します。

パラメータ:
stream - 書き込み先のストリーム
例外:
XMLStreamException

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream,
                                                      String encoding)
                                               throws XMLStreamException
ストリームへの書き込みを行う新しい XMLStreamWriter を作成します。

パラメータ:
stream - 書き込み先のストリーム
encoding - 使用するエンコーディング
例外:
XMLStreamException

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Result result)
                                               throws XMLStreamException
JAXP 結果への書き込みを行う新しい XMLStreamWriter を作成します。このメソッドはオプションです。

パラメータ:
result - 書き込み先の結果
例外:
UnsupportedOperationException - このメソッドがこの XMLOutputFactory でサポートされていない場合
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Result result)
                                             throws XMLStreamException
JAXP 結果への書き込みを行う新しい XMLEventWriter を作成します。このメソッドはオプションです。

パラメータ:
result - 書き込み先の結果
例外:
UnsupportedOperationException - このメソッドがこの XMLOutputFactory でサポートされていない場合
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream)
                                             throws XMLStreamException
ストリームへの書き込みを行う新しい XMLEventWriter を作成します。

パラメータ:
stream - 書き込み先のストリーム
例外:
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream,
                                                    String encoding)
                                             throws XMLStreamException
ストリームへの書き込みを行う新しい XMLEventWriter を作成します。

パラメータ:
stream - 書き込み先のストリーム
encoding - 使用するエンコーディング
例外:
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Writer stream)
                                             throws XMLStreamException
ライターへの書き込みを行う新しい XMLEventWriter を作成します。

パラメータ:
stream - 書き込み先のストリーム
例外:
XMLStreamException

setProperty

public abstract void setProperty(String name,
                                 Object value)
                          throws IllegalArgumentException
ユーザーが基本となる実装に特定の機能とプロパティーを設定できるようにします。

パラメータ:
name - プロパティーの名前
value - プロパティーの値
例外:
IllegalArgumentException - プロパティーがサポートされていない場合

getProperty

public abstract Object getProperty(String name)
                            throws IllegalArgumentException
基本となる実装から機能またはプロパティーを取得します。

パラメータ:
name - プロパティーの名前
戻り値:
プロパティーの値
例外:
IllegalArgumentException - プロパティーがサポートされていない場合

isPropertySupported

public abstract boolean isPropertySupported(String name)
このファクトリがサポートするプロパティーセットを照会します。

パラメータ:
name - プロパティーの名前 (null 以外)
戻り値:
プロパティーがサポートされている場合は true、そうでない場合は false

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。