モジュール java.xml
パッケージ 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
    バージョン:
    1.2
    関連項目:
    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​()
    • メソッドの詳細

      • newDefaultFactory

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

        @Deprecated(since="1.7")
        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への参照を取得すると、ファクトリを使用してストリームのインスタンスを構成および取得できます。

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

        例外:
        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​(InputStream stream,
                                                              String encoding)
                                                       throws XMLStreamException
        java.io.InputStreamから新しいXMLStreamReaderを作成します。
        パラメータ:
        stream - 読込み元のInputStream
        encoding - ストリームの文字エンコーディング
        例外:
        XMLStreamException
      • createXMLStreamReader

        public abstract XMLStreamReader createXMLStreamReader​(String systemId,
                                                              InputStream stream)
                                                       throws XMLStreamException
        java.io.InputStreamから新しいXMLStreamReaderを作成します。
        パラメータ:
        systemId - ストリームのシステムID
        stream - 読込み元のInputStream
        例外:
        XMLStreamException
      • createXMLStreamReader

        public abstract XMLStreamReader createXMLStreamReader​(String systemId,
                                                              Reader reader)
                                                       throws XMLStreamException
        java.io.InputStreamから新しいXMLStreamReaderを作成します。
        パラメータ:
        systemId - ストリームのシステムID
        reader - 読込み元のInputStream
        例外:
        XMLStreamException
      • createXMLEventReader

        public abstract XMLEventReader createXMLEventReader​(String systemId,
                                                            Reader reader)
                                                     throws XMLStreamException
        リーダーから新しいXMLEventReaderを作成します。
        パラメータ:
        systemId - 入力のシステムID
        reader - 読込み元のXMLデータ
        例外:
        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 - 読込み元のソース
        例外:
        UnsupportedOperationException - このXMLInputFactoryでこのメソッドがサポートされていない場合
        XMLStreamException
      • createXMLEventReader

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

        public abstract XMLEventReader createXMLEventReader​(String systemId,
                                                            InputStream stream)
                                                     throws XMLStreamException
        java.io.InputStreamから新しいXMLEventReaderを作成します。
        パラメータ:
        systemId - ストリームのシステムID
        stream - 読込み元のInputStream
        例外:
        XMLStreamException
      • createFilteredReader

        public abstract XMLStreamReader createFilteredReader​(XMLStreamReader reader,
                                                             StreamFilter filter)
                                                      throws XMLStreamException
        リーダーをフィルタでラップするフィルタ処理されたリーダーを作成します。
        パラメータ:
        reader - フィルタ処理するリーダー
        filter - リーダーに適用するフィルタ
        例外:
        XMLStreamException
      • createFilteredReader

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

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

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

        public abstract XMLReporter getXMLReporter​()
        任意のXMLStreamReaderまたはXMLEventReaderにレポータを設定します。このファクトリ・インスタンスによって作成されます。
      • 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​()
        このファクトリを使用して作成されるストリームが使用するアロケータを取得します。