|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 の新しいインスタンスを取得します。 |
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 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
- 下位互換性のため、JAXP の以前のバージョンを使用している場合に、この例外がスローされるpublic void setSchema(Schema schema)
このファクトリから作成されたパーサによって使用される Schema
を設定します。
Schema
が null 以外の場合、パーサはこれから作成されたバリデータを使用して、アプリケーションに情報を渡す前にドキュメントを検証します。
バリデータによって警告、エラー、重大なエラーが検出されると、パーサは自身がこれらのエラーを検出した場合と同様にこれらを処理する必要があります。つまり、ユーザ指定の 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
- 下位互換性のため、JAXP の以前のバージョンを使用している場合に、この例外がスローされるpublic void setXIncludeAware(boolean state)
XInclude 処理の状態を設定します。
ドキュメントインスタンスに XInclude マークアップが見つかった場合、「XML Inclusions (XInclude) Version 1.0」に指定されているとおりに処理する必要があります。
XInclude 処理のデフォルトは false
に設定されます。
state
- XInclude 処理を true
または false
に設定する
UnsupportedOperationException
- 下位互換性のため、JAXP の以前のバージョンを使用している場合に、この例外がスローされるpublic boolean isXIncludeAware()
XInclude 処理の状態を取得します。
UnsupportedOperationException
- 下位互換性のため、JAXP の以前のバージョンを使用している場合に、この例外がスローされる
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。