|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.xml.parsers.SAXParserFactory
public abstract class SAXParserFactory
アプリケーションが SAX ベースのパーサーを構成および取得して XML ドキュメントを構文解析できるようにするファクトリ API を定義します。
コンストラクタの概要 | |
---|---|
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 処理の状態を設定します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
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、そうでない場合は falsepublic void setValidating(boolean validating)
false
に設定されます。
ここで言う「検証」とは、XML 勧告で定義されている妥当性を検証するパーサーという意味です。つまり、実質的には DTD 検証を制御するだけということです。ただし、JAXP 1.2 に定義されている従来の 2 つのプロパティーを除きます。
DTD ではなく、W3C XML Schema または RELAX NG などの新しいスキーマ言語を使用する場合は、setValidating(boolean)
メソッドを false
にしてパーサーを妥当性を検証しない設定にしてから、setSchema(Schema)
メソッドでスキーマをパーサーに関連付けます。
validating
- このファクトリで作成されたパーサーが 構文解析時にドキュメントの妥当性を検証する場合は true、そうでない場合は falsepublic 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
を設定します。
バリデータによってエラーが検出されると、パーサー自身がエラーを検出した場合と同様に、パーサーがそのエラーをユーザー指定の DOMErrorHandler
へ報告します。
バリデータによって警告、エラー、重大なエラーが検出されると、パーサーは自身がこれらのエラーを検出した場合と同様にこれらを処理する必要があります。つまり、ユーザー指定の ErrorHandler
が設定されている場合は、これらのエラーを受け取り、そうでない場合は実装固有のデフォルトのエラー処理規則に従って処理される必要があります。
バリデータは SAX イベント ストリームを変更することがあり (たとえば、ドキュメントから失われていたデフォルト値を追加するなど)、パーサーはこれらの変更されたイベントストリームをアプリケーションが確実に受け取るようにする役割を持ちます。
最初に、Schema
として null
が設定されます。
この処理は 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
- 実装がこのメソッドを オーバーライドしない場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。