クラス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", Boolean.TRUE);

このプロパティは、ライターのデフォルトの名前空間接頭辞の宣言を指定します。 デフォルト値はfalseです。

ライターが名前空間を補修する場合、ライターはスコープ内に名前空間宣言を現在持たないすべての属性に対して、現在のStartElementに名前空間宣言を作成します。 StartElementにURIが指定されているが、接頭辞が指定されていない場合、接頭辞が割り当てられます。現在のStartElementの親で接頭辞が宣言されていない場合、接頭辞は現在のStartElementで宣言されます。 defaultNamespaceがバインドされていてスコープ内にあり、デフォルトの名前空間が属性のURIまたはStartElement QNameに一致する場合、接頭辞は割り当てられません。

要素名または属性名に接頭辞が含まれるが、どの名前空間URIにもバインドされていない場合、直列化中に接頭辞が削除されます。

同じ開始タグまたは空の要素タグ内の要素名や属性名が異なる名前空間URIにバインドされていて、同じ接頭辞を使用している場合、要素または最初に現れる属性は元の接頭辞を保持し、後続の属性は接頭辞を属性の名前空間URIにバインドされた新しい接頭辞で置き換えます。

要素名または属性名が、要素の親の名前空間コンテキストから継承したものとは異なるURIにバインドされている接頭辞を使用し、現在の要素のコンテキストに名前空間宣言が存在しない場合、そのような名前空間宣言が追加されます。

要素名または属性名が接頭辞にバインドされていて、接頭辞を別のURIにバインドする名前空間宣言が存在する場合、その名前空間宣言は、正しいマッピングがその要素の親コンテキストから継承されている場合は削除され、それ以外の場合はその接頭辞を使用する要素または属性の名前空間URIに変更されます。

導入されたバージョン:
1.6
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final String
    接頭辞を出力側でデフォルト設定するために使用されるプロパティ。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    インスタンス化を妨げるprotectedコンストラクタです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    ストリームへの書込みを行う新しいXMLEventWriterを作成します。
    ストリームへの書込みを行う新しいXMLEventWriterを作成します。
    ライターへの書込みを行う新しいXMLEventWriterを作成します。
    JAXP結果への書込みを行う新しいXMLEventWriterを作成します。
    ストリームへの書込みを行う新しいXMLStreamWriterを作成します。
    ストリームへの書込みを行う新しいXMLStreamWriterを作成します。
    ライターへの書込みを行う新しいXMLStreamWriterを作成します。
    JAXP結果への書込みを行う新しいXMLStreamWriterを作成します。
    abstract Object
    ベースとなる実装から機能またはプロパティを取得します。
    abstract boolean
    このファクトリがサポートするプロパティ・セットを照会します。
    XMLOutputFactory組込みシステム・デフォルト実装の新しいインスタンスを作成します。
    ファクトリの新しいインスタンスを作成します。
    newFactory(String factoryId, ClassLoader classLoader)
    ファクトリの新しいインスタンスを作成します。
    newFactory()メソッドとまったく同様にファクトリの新しいインスタンスを作成します。
    newInstance(String factoryId, ClassLoader classLoader)
    非推奨。
    このメソッドは、XMLInputFactoryのインスタンス(間違ったクラスのインスタンス)を返すため非推奨になりました。
    abstract void
    setProperty(String name, Object value)
    ユーザーがベースとなる実装に特定の機能とプロパティを設定できるようにします。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • IS_REPAIRING_NAMESPACES

      public static final String IS_REPAIRING_NAMESPACES
      接頭辞を出力側でデフォルト設定するために使用されるプロパティ。
      関連項目:
  • コンストラクタの詳細

    • XMLOutputFactory

      protected XMLOutputFactory()
      インスタンス化を妨げるprotectedコンストラクタです。 代わりにnewFactory()を使用してください。
  • メソッドの詳細

    • newDefaultFactory

      public static XMLOutputFactory newDefaultFactory()
      XMLOutputFactory組込みシステム・デフォルト実装の新しいインスタンスを作成します。
      戻り値:
      XMLOutputFactory組込みシステム・デフォルト実装の新しいインスタンス。
      導入されたバージョン:
      9
    • newInstance

      public static XMLOutputFactory newInstance() throws FactoryConfigurationError
      newFactory()メソッドとまったく同様にファクトリの新しいインスタンスを作成します。
      戻り値:
      XMLOutputFactoryのインスタンス
      スロー:
      FactoryConfigurationError - このファクトリのインスタンスをロードできない場合
    • newFactory

      public static XMLOutputFactory newFactory() throws FactoryConfigurationError
      ファクトリの新しいインスタンスを作成します。 このメソッドは、「JAXPルックアップ・メカニズム」を使用して、ロードするXMLOutputFactory実装クラスを決定します。

      アプリケーションがXMLOutputFactoryへの参照を取得すると、ファクトリを使用してストリーム・インスタンスを構成および取得できます。

      戻り値:
      XMLOutputFactoryのインスタンス
      スロー:
      FactoryConfigurationError - サービス構成エラーが発生した場合、または実装が使用できないかインスタンス化できない場合。
    • newInstance

      @Deprecated(since="1.7") public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
      非推奨。
      このメソッドは、XMLInputFactoryのインスタンス(間違ったクラスのインスタンス)を返すため非推奨になりました。 代わりに、新しいメソッドnewFactory(java.lang.String, java.lang.ClassLoader)を使用してください。
      ファクトリの新しいインスタンスを作成します。
      パラメータ:
      factoryId - 検索するファクトリの名前。プロパティ名と同一
      classLoader - 使用するclassLoader
      戻り値:
      ファクトリの実装
      スロー:
      FactoryConfigurationError - このファクトリのインスタンスをロードできない場合
    • newFactory

      public static XMLOutputFactory newFactory(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
      ファクトリの新しいインスタンスを作成します。 classLoader引数がnullの場合、ContextClassLoaderが使用されます。

      このメソッドは次の順序の検索手順で、ロードするXMLOutputFactory実装クラスを決定します。

      APIのノート:
      ここで定義されているパラメータfactoryIdは、最初のパラメータがファクトリの実装を提供する完全修飾ファクトリ・クラス名である、他のJAXPファクトリのfactoryIdとは一致しません。

      これは非推奨のnewInstance(String factoryId、ClassLoader classLoader)メソッドを置き換える新しいメソッドです。 元のメソッドは、XMLInputFactoryを返すように誤って定義されていました。

      パラメータ:
      factoryId - 検索するファクトリの名前。プロパティ名と同一
      classLoader - 使用するclassLoader
      戻り値:
      ファクトリの実装
      スロー:
      FactoryConfigurationError - サービス構成エラーが発生した場合、または実装が使用できないかインスタンス化できない場合。
    • createXMLStreamWriter

      public abstract XMLStreamWriter createXMLStreamWriter(Writer stream) throws XMLStreamException
      ライターへの書込みを行う新しいXMLStreamWriterを作成します。
      パラメータ:
      stream - 書込み先のライター
      戻り値:
      XMLStreamWriterのインスタンス
      スロー:
      XMLStreamException - エラーが発生した場合
    • createXMLStreamWriter

      public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream) throws XMLStreamException
      ストリームへの書込みを行う新しいXMLStreamWriterを作成します。
      パラメータ:
      stream - 書込み先のストリーム
      戻り値:
      XMLStreamWriterのインスタンス
      スロー:
      XMLStreamException - エラーが発生した場合
    • createXMLStreamWriter

      public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream, String encoding) throws XMLStreamException
      ストリームへの書込みを行う新しいXMLStreamWriterを作成します。
      パラメータ:
      stream - 書込み先のストリーム
      encoding - 使用するエンコーディング
      戻り値:
      XMLStreamWriterのインスタンス
      スロー:
      XMLStreamException - エラーが発生した場合
    • createXMLStreamWriter

      public abstract XMLStreamWriter createXMLStreamWriter(Result result) throws XMLStreamException
      JAXP結果への書込みを行う新しいXMLStreamWriterを作成します。 このメソッドはオプションです。
      パラメータ:
      result - 書込み先の結果
      戻り値:
      XMLStreamWriterのインスタンス
      スロー:
      UnsupportedOperationException - このXMLOutputFactoryでこのメソッドがサポートされていない場合
      XMLStreamException - エラーが発生した場合
    • createXMLEventWriter

      public abstract XMLEventWriter createXMLEventWriter(Result result) throws XMLStreamException
      JAXP結果への書込みを行う新しいXMLEventWriterを作成します。 このメソッドはオプションです。
      パラメータ:
      result - 書込み先の結果
      戻り値:
      XMLEventWriterのインスタンス
      スロー:
      UnsupportedOperationException - このXMLOutputFactoryでこのメソッドがサポートされていない場合
      XMLStreamException - エラーが発生した場合
    • createXMLEventWriter

      public abstract XMLEventWriter createXMLEventWriter(OutputStream stream) throws XMLStreamException
      ストリームへの書込みを行う新しいXMLEventWriterを作成します。
      パラメータ:
      stream - 書込み先のストリーム
      戻り値:
      XMLEventWriterのインスタンス
      スロー:
      XMLStreamException - エラーが発生した場合
    • createXMLEventWriter

      public abstract XMLEventWriter createXMLEventWriter(OutputStream stream, String encoding) throws XMLStreamException
      ストリームへの書込みを行う新しいXMLEventWriterを作成します。
      パラメータ:
      stream - 書込み先のストリーム
      encoding - 使用するエンコーディング
      戻り値:
      XMLEventWriterのインスタンス
      スロー:
      XMLStreamException - エラーが発生した場合
    • createXMLEventWriter

      public abstract XMLEventWriter createXMLEventWriter(Writer stream) throws XMLStreamException
      ライターへの書込みを行う新しいXMLEventWriterを作成します。
      パラメータ:
      stream - 書込み先のストリーム
      戻り値:
      XMLEventWriterのインスタンス
      スロー:
      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