モジュール java.xml
パッケージ javax.xml.stream

クラスXMLInputFactory

java.lang.Object
javax.xml.stream.XMLInputFactory

public abstract class XMLInputFactory extends Object
ストリームを取得するためのファクトリの抽象実装を定義します。 次の表に、この仕様の標準プロパティの定義を示します。 各プロパティは、実装ごとに必要となるサポートのレベルが異なります。 必要なサポート・レベルは、「必須」の列に示されています。
構成パラメータ
プロパティ名 動作 戻り型 デフォルト値 必須
javax.xml.stream.isValidating実装に固有のDTD検証のオン/オフを切り替えますBooleanFalseいいえ
javax.xml.stream.isNamespaceAwareXML 1.0サポートの名前空間処理のオン/オフを切り替えますBooleanTrueTrue (必須)/False (省略可能)
javax.xml.stream.isCoalescing隣接する文字データの合体をプロセッサに要求しますBooleanFalseはい
javax.xml.stream.isReplacingEntityReferences内部エンティティ参照を置換テキストに置き換え、それらを文字として報告しますBooleanTrueはい
javax.xml.stream.isSupportingExternalEntities外部の解析対象エンティティを解決しますBoolean指定なしはい
javax.xml.stream.supportDTDDTDをサポートしないプロセッサを要求する場合は、このプロパティを使用しますBooleanTrueはい
javax.xml.stream.reporterXMLReporterの実装を設定/取得します javax.xml.stream.XMLReporterNullはい
javax.xml.stream.resolverXMLResolverインタフェースの実装を設定/取得しますjavax.xml.stream.XMLResolverNullはい
javax.xml.stream.allocatorXMLEventAllocatorインタフェースの実装を設定/取得しますjavax.xml.stream.util.XMLEventAllocatorNullはい
導入されたバージョン:
1.6
関連項目:
XMLOutputFactory, XMLEventReader, XMLStreamReader, EventFilter, XMLReporter, XMLResolver, XMLEventAllocator
  • フィールド詳細

    • IS_NAMESPACE_AWARE

      public static final String IS_NAMESPACE_AWARE
      名前空間サポートのオン/オフの切替えに使用するプロパティです。これはXML 1.0文書をサポートするためのものです。trueの設定のみサポートされます。
      関連項目:
      定数フィールド値
    • IS_VALIDATING

      public static final String IS_VALIDATING
      実装に固有の検証のオン/オフを切り替えるために使用するプロパティです。
      関連項目:
      定数フィールド値
    • IS_COALESCING

      public static final String IS_COALESCING
      隣接する文字データ・セクションの合体をパーサーに要求するプロパティです。
      関連項目:
      定数フィールド値
    • IS_REPLACING_ENTITY_REFERENCES

      public static final String IS_REPLACING_ENTITY_REFERENCES
      内部エンティティ参照を置換テキストに置き換え、それらを文字として報告することをパーサーに要求します。
      関連項目:
      定数フィールド値
    • IS_SUPPORTING_EXTERNAL_ENTITIES

      public static final String IS_SUPPORTING_EXTERNAL_ENTITIES
      外部の解析対象エンティティの解決をパーサーに要求するプロパティです。
      関連項目:
      定数フィールド値
    • SUPPORT_DTD

      public static final String SUPPORT_DTD
      DTDのサポートをパーサーに要求するプロパティです。
      関連項目:
      定数フィールド値
    • REPORTER

      public static final String REPORTER
      XMLReporterインタフェースの実装の設定/取得に使用するプロパティです。
      関連項目:
      定数フィールド値
    • RESOLVER

      public static final String RESOLVER
      XMLResolverの実装の設定/取得に使用するプロパティです。
      関連項目:
      定数フィールド値
    • ALLOCATOR

      public static final String ALLOCATOR
      アロケータの実装の設定/取得に使用するプロパティです。
      関連項目:
      定数フィールド値
  • コンストラクタの詳細

    • XMLInputFactory

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

    • newDefaultFactory

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

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

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

      このstaticメソッドは新しいファクトリ・インスタンスを作成します。 このメソッドは次の順序の検索手順で、ロードするXMLInputFactory実装クラスを決定します。

      • javax.xml.stream.XMLInputFactory systemプロパティを使用する。

      • 構成ファイル"stax.properties"を使用します。 このファイルは標準のProperties形式であり、通常Javaインストールのconfディレクトリにあります。 これには、実装クラスの完全修飾名が格納されています。

        stax.propertiesファイルは実装によって一度だけ読み込まれ、その値は将来の使用のためにキャッシュされます。 最初の読込み時にファイルが存在しないと、そのあとにその存在がチェックされることはない。 stax.propertiesが最初に読み込まれた後に、そのプロパティの値を変更することはできません。

        jaxp構成ファイル"jaxp.properties"を使用します。 このファイルはstax.propertiesと同じ形式であり、stax.propertiesが存在しない場合にのみ読み込まれます。

      • ServiceLoaderクラスで定義されているサービス・プロバイダ・ローディング機能を使用して、デフォルトのロード・メカニズムを使用してサービスの実装を特定してロード: サービス・プロバイダ・ローディング機能は、現在のスレッド・コンテキスト・クラス・ローダーを使用してサービスをロードしようとします。 コンテキスト・クラス・ローダーがnullの場合、システム・クラス・ローダーが使用されます。

      • それ以外の場合は、system-default実装が返されます。

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

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

      @Deprecated(since="1.7")public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
      非推奨。
      APIの整合性を維持するために、このメソッドは非推奨になりました。 すべてのnewInstanceメソッドが、対応するnewFactoryメソッドに置き換えられています。 代替のnewFactory(java.lang.String, java.lang.ClassLoader)メソッドでは、動作の変更は定義されていません。
      ファクトリの新しいインスタンスを作成します。
      パラメータ:
      factoryId - 検索するファクトリの名前。プロパティ名と同一
      classLoader - 使用するclassLoader
      戻り値:
      ファクトリの実装
      例外:
      FactoryConfigurationError - このファクトリのインスタンスをロードできない場合
    • newFactory

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

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

      • factoryIdによって識別されるシステム・プロパティの値を使用する。

      • 構成ファイル"stax.properties"を使用します。 このファイルは標準のProperties形式であり、通常Javaインストールのconfディレクトリにあります。 これには、実装クラスの完全修飾名が格納されています。

        stax.propertiesファイルは実装によって一度だけ読み込まれ、その値は将来の使用のためにキャッシュされます。 最初の読込み時にファイルが存在しないと、そのあとにその存在がチェックされることはない。 stax.propertiesが最初に読み込まれた後に、そのプロパティの値を変更することはできません。

        jaxp構成ファイル"jaxp.properties"を使用します。 このファイルはstax.propertiesと同じ形式であり、stax.propertiesが存在しない場合にのみ読み込まれます。

      • factoryIdが"javax.xml.stream.XMLInputFactory"の場合は、ServiceLoaderクラスで定義されているサービス・プロバイダ・ロード機能を使用して、指定されたClassLoaderを使用してサービスの実装を「見つけて読み込む」しようとします。 classLoaderがnullである場合、デフォルトのロード・メカニズムが適用される。つまり、サービス・プロバイダのロード機能は、現在のスレッドのコンテキスト・クラス・ローダーを使用してサービスのロードを試みる。 コンテキスト・クラス・ローダーがnullの場合、システム・クラス・ローダーが使用されます。

      • それ以外の場合は、FactoryConfigurationErrorをスローする。

      これは非推奨のnewInstance(String factoryId、ClassLoader classLoader)メソッドを置き換える新しいメソッドです。 非推奨のメソッドに関連して、この置換メソッドによって定義されている動作に変更はありません。

      APIのノート:
      ここで定義されているパラメータfactoryIdは、最初のパラメータがファクトリの実装を提供する完全修飾ファクトリ・クラス名である、他のJAXPファクトリのfactoryIdとは一致しません。
      パラメータ:
      factoryId - 検索するファクトリの名前。プロパティ名と同一
      classLoader - 使用するclassLoader
      戻り値:
      ファクトリの実装
      例外:
      FactoryConfigurationError - サービス構成エラーが発生した場合、または実装が使用できないかインスタンス化できない場合。
      FactoryConfigurationError - このファクトリのインスタンスをロードできない場合
    • createXMLStreamReader

      public abstract XMLStreamReader createXMLStreamReader(Reader reader) throws XMLStreamException
      リーダーから新しいXMLStreamReaderを作成します。
      パラメータ:
      reader - 読込み元のXMLデータ
      戻り値:
      XMLStreamReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLStreamReader

      public abstract XMLStreamReader createXMLStreamReader(Source source) throws XMLStreamException
      JAXPソースから新しいXMLStreamReaderを作成します。 このメソッドはオプションです。
      パラメータ:
      source - 読込み元のソース
      戻り値:
      XMLStreamReaderのインスタンス
      例外:
      UnsupportedOperationException - このXMLInputFactoryでこのメソッドがサポートされていない場合
      XMLStreamException - エラーが発生した場合
    • createXMLStreamReader

      public abstract XMLStreamReader createXMLStreamReader(InputStream stream) throws XMLStreamException
      java.io.InputStreamから新しいXMLStreamReaderを作成します。
      パラメータ:
      stream - 読込み元のInputStream
      戻り値:
      XMLStreamReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLStreamReader

      public abstract XMLStreamReader createXMLStreamReader(InputStream stream, String encoding) throws XMLStreamException
      java.io.InputStreamから新しいXMLStreamReaderを作成します。
      パラメータ:
      stream - 読込み元のInputStream
      encoding - ストリームの文字エンコーディング
      戻り値:
      XMLStreamReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLStreamReader

      public abstract XMLStreamReader createXMLStreamReader(String systemId, InputStream stream) throws XMLStreamException
      java.io.InputStreamから新しいXMLStreamReaderを作成します。
      パラメータ:
      systemId - ストリームのシステムID
      stream - 読込み元のInputStream
      戻り値:
      XMLStreamReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLStreamReader

      public abstract XMLStreamReader createXMLStreamReader(String systemId, Reader reader) throws XMLStreamException
      java.io.InputStreamから新しいXMLStreamReaderを作成します。
      パラメータ:
      systemId - ストリームのシステムID
      reader - 読込み元のInputStream
      戻り値:
      XMLStreamReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLEventReader

      public abstract XMLEventReader createXMLEventReader(Reader reader) throws XMLStreamException
      リーダーから新しいXMLEventReaderを作成します。
      パラメータ:
      reader - 読込み元のXMLデータ
      戻り値:
      XMLEventReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLEventReader

      public abstract XMLEventReader createXMLEventReader(String systemId, Reader reader) throws XMLStreamException
      リーダーから新しいXMLEventReaderを作成します。
      パラメータ:
      systemId - 入力のシステムID
      reader - 読込み元のXMLデータ
      戻り値:
      XMLEventReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLEventReader

      public abstract XMLEventReader createXMLEventReader(XMLStreamReader reader) throws XMLStreamException
      XMLStreamReaderから新しいXMLEventReaderを作成します。 このメソッドから返されたXMLEventReaderインスタンスの構築に使用されたあとは、そのXMLStreamReaderを使用してはいけません。
      パラメータ:
      reader - 読込み元のXMLStreamReader (変更されていない)
      戻り値:
      新しいXMLEventReader
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLEventReader

      public abstract XMLEventReader createXMLEventReader(Source source) throws XMLStreamException
      JAXPソースから新しいXMLEventReaderを作成します。 このメソッドのサポートはオプションです。
      パラメータ:
      source - 読込み元のソース
      戻り値:
      XMLEventReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
      UnsupportedOperationException - このXMLInputFactoryでこのメソッドがサポートされていない場合
    • createXMLEventReader

      public abstract XMLEventReader createXMLEventReader(InputStream stream) throws XMLStreamException
      java.io.InputStreamから新しいXMLEventReaderを作成します。
      パラメータ:
      stream - 読込み元のInputStream
      戻り値:
      XMLEventReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLEventReader

      public abstract XMLEventReader createXMLEventReader(InputStream stream, String encoding) throws XMLStreamException
      java.io.InputStreamから新しいXMLEventReaderを作成します。
      パラメータ:
      stream - 読込み元のInputStream
      encoding - ストリームの文字エンコーディング
      戻り値:
      XMLEventReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createXMLEventReader

      public abstract XMLEventReader createXMLEventReader(String systemId, InputStream stream) throws XMLStreamException
      java.io.InputStreamから新しいXMLEventReaderを作成します。
      パラメータ:
      systemId - ストリームのシステムID
      stream - 読込み元のInputStream
      戻り値:
      XMLEventReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createFilteredReader

      public abstract XMLStreamReader createFilteredReader(XMLStreamReader reader, StreamFilter filter) throws XMLStreamException
      リーダーをフィルタでラップするフィルタ処理されたリーダーを作成します。
      パラメータ:
      reader - フィルタ処理するリーダー
      filter - リーダーに適用するフィルタ
      戻り値:
      XMLEventReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • createFilteredReader

      public abstract XMLEventReader createFilteredReader(XMLEventReader reader, EventFilter filter) throws XMLStreamException
      イベント・リーダーをフィルタでラップするフィルタ処理されたイベント・リーダーを作成します。
      パラメータ:
      reader - ラップするイベント・リーダー
      filter - イベント・リーダーに適用するフィルタ
      戻り値:
      XMLEventReaderのインスタンス
      例外:
      XMLStreamException - エラーが発生した場合
    • getXMLResolver

      public abstract XMLResolver getXMLResolver()
      任意のXMLStreamReaderまたはXMLEventReaderにリゾルバを設定します。このファクトリ・インスタンスによって作成されます。
      戻り値:
      XMLResolverのインスタンス
    • setXMLResolver

      public abstract void setXMLResolver(XMLResolver resolver)
      任意のXMLStreamReaderまたはXMLEventReaderにリゾルバを設定します。このファクトリ・インスタンスによって作成されます。
      パラメータ:
      resolver - 参照の解決に使用されるリゾルバ
    • getXMLReporter

      public abstract XMLReporter getXMLReporter()
      任意のXMLStreamReaderまたはXMLEventReaderにレポータを設定します。このファクトリ・インスタンスによって作成されます。
      戻り値:
      XMLReporterのインスタンス
    • setXMLReporter

      public abstract void setXMLReporter(XMLReporter reporter)
      任意のXMLStreamReaderまたはXMLEventReaderにレポータを設定します。このファクトリ・インスタンスによって作成されます。
      パラメータ:
      reporter - 重大ではないエラーの報告に使用されるリゾルバ
    • setProperty

      public abstract void setProperty(String name, Object value) throws IllegalArgumentException
      ユーザーがベースとなる実装に特定の機能とプロパティを設定できるようにします。 ベースとなる実装では、仕様にあるすべてのプロパティの設定をすべてサポートすることは要求されません。また、ベースとなる実装ではIllegalArgumentExceptionを使用して、サポートされないプロパティに指定値を設定できないことを通知できます。

      JAXP 1.5またはそれ以降を実装する実装はすべて、XMLConstants.ACCESS_EXTERNAL_DTDプロパティをサポートしている必要があります。

      • 外部DTDおよび外部エンティティ参照へのアクセスが、そのプロパティで指定されたプロトコルに制限されます。 このプロパティの制限が原因で構文解析中にアクセスが拒否された場合は、XMLStreamReader.next()またはXMLEventReader.nextEvent()メソッドによってXMLStreamExceptionがスローされます。

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

      public abstract Object getProperty(String name) throws IllegalArgumentException
      ベースとなる実装から機能またはプロパティの値を取得します。
      パラメータ:
      name - プロパティの名前(null以外)
      戻り値:
      プロパティの値
      例外:
      IllegalArgumentException - プロパティがサポートされていない場合
    • isPropertySupported

      public abstract boolean isPropertySupported(String name)
      このファクトリがサポートするプロパティ・セットを照会します。
      パラメータ:
      name - プロパティの名前(null以外)
      戻り値:
      プロパティがサポートされている場合はtrue、そうでない場合はfalse
    • setEventAllocator

      public abstract void setEventAllocator(XMLEventAllocator allocator)
      イベント用のユーザー定義のイベント・アロケータを設定します。
      パラメータ:
      allocator - ユーザー定義のアロケータ
    • getEventAllocator

      public abstract XMLEventAllocator getEventAllocator()
      このファクトリを使用して作成されるストリームが使用するアロケータを取得します。
      戻り値:
      XMLEventAllocatorのインスタンス