public abstract class SAXParserFactory extends Object
修飾子 | コンストラクタと説明 |
---|---|
protected |
SAXParserFactory()
newInstance() を強制的に使用する protected コンストラクタです。 |
修飾子と型 | メソッドと説明 |
---|---|
abstract boolean |
getFeature(String name)
org.xml.sax.XMLReader の基本となる実装で要求された特定のプロパティーを返します。
|
Schema |
getSchema()
setSchema(Schema schema) メソッドによって指定された Schema オブジェクトを取得します。 |
boolean |
isNamespaceAware()
ファクトリが名前空間を認識するパーサーを作成するように構成されているかどうかを示します。
|
boolean |
isValidating()
構文解析時に XML コンテンツを検証するパーサーを作成するようにファクトリが構成されているかどうかを示します。
|
boolean |
isXIncludeAware()
XInclude 処理の状態を取得します。
|
static SAXParserFactory |
newInstance()
SAXParserFactory の新しいインスタンスを取得します。 |
static SAXParserFactory |
newInstance(String factoryClassName, ClassLoader classLoader)
クラス名から
SAXParserFactory の新しいインスタンスを取得します。 |
abstract SAXParser |
newSAXParser()
現在構成されているファクトリパラメータを使用して SAXParser の新しいインスタンスを作成します。
|
abstract void |
setFeature(String name, boolean value)
org.xml.sax.XMLReader の基本となる実装に特定の機能を設定します。
|
void |
setNamespaceAware(boolean awareness)
このファクトリで作成されたパーサーが XML 名前空間をサポートするように指定します。
|
void |
setSchema(Schema schema)
このファクトリから作成されたパーサーによって使用される
Schema を設定します。 |
void |
setValidating(boolean validating)
このファクトリで作成されたパーサーが構文解析時にドキュメントの妥当性を検証するように指定します。
|
void |
setXIncludeAware(boolean state)
XInclude 処理の状態を設定します。
|
protected SAXParserFactory()
newInstance()
を強制的に使用する protected コンストラクタです。
public static SAXParserFactory newInstance()
SAXParserFactory
の新しいインスタンスを取得します。この static メソッドは新しいファクトリインスタンスを作成します。このメソッドは次の順序のルックアップ手順で、ロードする SAXParserFactory
実装クラスを判定します。
javax.xml.parsers.SAXParserFactory
システムプロパティーを使用する。
java.util.Properties
形式であり、上記のように定義されたシステムプロパティーであるキーを持つ実装クラスの完全修飾名を含む。
jaxp.properties ファイルは JAXP 実装によって 1 回だけ読み込まれ、その値がその後の使用のためキャッシュされる。最初の読み込み時にファイルが存在しないと、そのあとにその存在がチェックされることはない。最初に読み込まれたあと、jaxp.properties のプロパティーの値を変更することはできない。
META-INF/services/javax.xml.parsers.SAXParserFactory
ファイルからクラス名を検索する。
SAXParserFactory
インスタンスをプラットフォームとする。
SAXParserFactory
への参照を取得すると、ファクトリを使用してパーサーのインスタンスを構成および取得できます。
jaxp.debug
システムプロパティーを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグメッセージを System.err
に出力します。
DocumentBuilder
のロードに問題がある場合、次のようにします。
java -Djaxp.debug=1 YourProgram ....
FactoryConfigurationError
- 実装が使用できないかインスタンス化できない場合。public static SAXParserFactory newInstance(String factoryClassName, ClassLoader classLoader)
クラス名から SAXParserFactory
の新しいインスタンスを取得します。この関数は、クラスパスに複数のプロバイダがある場合に便利です。どのプロバイダがロードされるかを指定できるため、アプリケーションをさらに制御できます。
アプリケーションが SAXParserFactory
への参照を取得すると、ファクトリを使用してパーサーのインスタンスを構成および取得できます。
jaxp.debug
システムプロパティーを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグメッセージを System.err
に出力します。
問題がある場合、次のようにします。
java -Djaxp.debug=1 YourProgram ....
factoryClassName
- javax.xml.parsers.SAXParserFactory
の実装を提供する完全修飾のファクトリクラス名。classLoader
- ファクトリクラスのロードに使用される ClassLoader
。null
の場合は、現在の Thread
のコンテキスト classLoader が、ファクトリクラスのロードに使用されます。SAXParserFactory
の新しいインスタンスFactoryConfigurationError
- factoryClassName
が null
、またはファクトリクラスをロードまたはインスタンス化できない場合。newInstance()
public abstract SAXParser newSAXParser() throws ParserConfigurationException, SAXException
現在構成されているファクトリパラメータを使用して SAXParser の新しいインスタンスを作成します。
ParserConfigurationException
- 要求された構成を満たすパーサーを生成できない場合。SAXException
- SAX エラーの場合。public void setNamespaceAware(boolean awareness)
false
に設定されます。awareness
- このコードで作成されたパーサーが XML 名前空間をサポートする場合は true、そうでない場合は false。public void setValidating(boolean validating)
false
に設定されます。
ここで言う「検証」とは、XML 勧告で定義されている妥当性を検証するパーサーという意味です。つまり、実質的には DTD 検証を制御するだけということです。ただし、JAXP 1.2 に定義されている従来の 2 つのプロパティーを除きます。
DTD ではなく、W3C XML Schema または RELAX NG などの新しいスキーマ言語を使用する場合は、setValidating(boolean)
メソッドを false
にして妥当性を検証しないパーサーとして構成してから、setSchema(Schema)
メソッドでスキーマをパーサーに関連付けます。
validating
- このコードで作成されたパーサーが構文解析時にドキュメントの妥当性を検証する場合は true、そうでない場合は false。public boolean isNamespaceAware()
public boolean isValidating()
public abstract void setFeature(String name, boolean value) throws ParserConfigurationException, SAXNotRecognizedException, SAXNotSupportedException
org.xml.sax.XMLReader の基本となる実装に特定の機能を設定します。コア機能とコアプロパティーのリストについては、http://www.saxproject.org/ のサイトを参照してください。
実装はすべて、XMLConstants.FEATURE_SECURE_PROCESSING
機能をサポートしている必要があります。この機能については次のとおりです。
true
の場合、実装は実装限界に準拠する XML 処理を制限します。例は、エンティティー拡張制限や大容量のリソースを消費する XML スキーマなど。セキュリティー上の理由から XML 処理が制限される場合は、登録済みの ErrorHandler.fatalError(SAXParseException exception)
へ呼び出しを介して報告されます。ハンドラ仕様については、SAXParser
parse
メソッドを参照してください。
false
の場合、実装は、実装限界にかまわず、XML 仕様に従って XML を処理します。
name
- 設定される機能の名前。value
- 設定される機能の値。ParserConfigurationException
- 要求された構成を満たすパーサーを生成できない場合。SAXNotRecognizedException
- 基本となる XMLReader がプロパティー名を認識しない場合。SAXNotSupportedException
- 基本となる XMLReader はプロパティー名を認識するが、そのプロパティーをサポートしない場合。NullPointerException
- name
パラメータが null の場合。XMLReader.setFeature(java.lang.String, boolean)
public abstract boolean getFeature(String name) throws ParserConfigurationException, SAXNotRecognizedException, SAXNotSupportedException
org.xml.sax.XMLReader の基本となる実装で要求された特定のプロパティーを返します。
name
- 取り出されるプロパティーの名前。ParserConfigurationException
- 要求された構成を満たすパーサーを生成できない場合。SAXNotRecognizedException
- 基本となる XMLReader がプロパティー名を認識しない場合。SAXNotSupportedException
- 基本となる XMLReader はプロパティー名を認識するが、そのプロパティーをサポートしない場合。XMLReader.getProperty(java.lang.String)
public Schema getSchema()
setSchema(Schema schema)
メソッドによって指定された Schema
オブジェクトを取得します。setSchema(Schema)
メソッドを介して最後に設定された Schema
オブジェクト、または SAXParserFactory
が作成されてからメソッドが呼び出されていない場合は null。UnsupportedOperationException
- 実装がこのメソッドをオーバーライドしない場合public void setSchema(Schema schema)
このファクトリから作成されたパーサーによって使用される Schema
を設定します。
Schema
が null 以外の場合、パーサーは、情報をアプリケーションに渡す前に、ドキュメントを検証するために作成されたバリデータを使用します。
バリデータによって警告、エラー、重大なエラーが検出されると、パーサーは自身がこれらのエラーを検出した場合と同様にこれらを処理する必要があります。つまり、ユーザー指定の ErrorHandler
が設定されている場合は、これらのエラーを受け取り、そうでない場合は実装固有のデフォルトのエラー処理規則に従って処理される必要があります。
バリデータは SAX イベントストリームを変更することがあり (たとえば、ドキュメントから失われていたデフォルト値を追加するなど)、パーサーはこれらの変更されたイベントストリームをアプリケーションが確実に受け取るようにする役割を持ちます。
最初に、null
が Schema
として設定されます。
この処理は isValidating()
メソッドが false
を返した場合でも有効です。
http://java.sun.com/xml/jaxp/properties/schemaSource
プロパティーまたは http://java.sun.com/xml/jaxp/properties/schemaLanguage
プロパティーを null 以外の Schema
オブジェクトと一緒に使用するとエラーになります。これらのプロパティーが SAXParser
に設定されていると、そのような構成によって SAXException
例外が発生します。
パーサーは、あらゆる Schema
実装で動作できる必要があります。ただし、パーサーおよびスキーマが仕様に記載されている結果を出すかぎり、実装固有のカスタムメカニズムを使用できます。
schema
- 使用する Schema
、スキーマを削除するには null
。UnsupportedOperationException
- 実装がこのメソッドをオーバーライドしない場合public void setXIncludeAware(boolean state)
XInclude 処理の状態を設定します。
ドキュメントインスタンスに XInclude マークアップが見つかった場合、「XML Inclusions (XInclude) Version 1.0」に指定されているとおりに処理する必要があります。
XInclude 処理のデフォルトは false
に設定されます。
state
- XInclude 処理を true
または false
に設定するUnsupportedOperationException
- 実装がこのメソッドをオーバーライドしない場合public boolean isXIncludeAware()
XInclude 処理の状態を取得します。
UnsupportedOperationException
- 実装がこのメソッドをオーバーライドしない場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.