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のプロパティの値を変更することはできない。
ServiceLoaderクラスで定義されているサービス・プロバイダのロード機能を使用して、デフォルトのロード・メカニズムによってサービスの実装の特定およびロードを試みる。サービス・プロバイダのロード機能は、現在のスレッドのコンテキスト・クラス・ローダーを使用してサービスのロードを試みる。 コンテキスト・クラス・ローダーがnullの場合、システム・クラス・ローダーが使用されます。
SAXParserFactoryへの参照を取得すると、ファクトリを使用してパーサーのインスタンスを構成および取得できます。
jaxp.debugシステム・プロパティを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグ・メッセージをSystem.errに出力します。
SAXParserのロードに問題がある場合、次のようにします。
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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。