|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.xml.parsers.DocumentBuilderFactory
public abstract class DocumentBuilderFactory
アプリケーションで XML ドキュメントから DOM オブジェクトツリーを生成するパーサを取得できるファクトリ API を定義します。
コンストラクタの概要 | |
---|---|
protected |
DocumentBuilderFactory()
|
メソッドの概要 | |
---|---|
abstract Object |
getAttribute(String name)
ユーザが基本となる実装の特定の属性を取り出すことができるようにします。 |
abstract boolean |
getFeature(String name)
名前が付けられた機能の状態を取得します。 |
Schema |
getSchema()
setSchema(Schema schema) メソッドによって指定された Schema オブジェクトを取得します。 |
boolean |
isCoalescing()
CDATA ノードを Text ノードに変換し、それを隣接 (存在する場合) Text ノードに追加するパーサを作成するようにファクトリが設定されているかどうかを示します。 |
boolean |
isExpandEntityReferences()
エンティティ参照ノードを展開するパーサを作成するようにファクトリが設定されているかどうかを示します。 |
boolean |
isIgnoringComments()
コメントを無視するパーサを作成するようにファクトリが設定されているかどうかを示します。 |
boolean |
isIgnoringElementContentWhitespace()
要素の内容の無視できる空白を無視するパーサを作成するようにファクトリが設定されているかどうかを示します。 |
boolean |
isNamespaceAware()
ファクトリが名前空間を認識するパーサを作成するように設定されているかどうかを示します。 |
boolean |
isValidating()
構文解析時に XML コンテンツを検証するパーサを作成するようにファクトリが設定されているかどうかを示します。 |
boolean |
isXIncludeAware()
XInclude 処理の状態を取得します。 |
abstract DocumentBuilder |
newDocumentBuilder()
現在設定されているパラメータを使用して DocumentBuilder の新しいインスタンスを作成します。 |
static DocumentBuilderFactory |
newInstance()
DocumentBuilderFactory の新しいインスタンスを取得します。 |
abstract void |
setAttribute(String name,
Object value)
ユーザが基本となる実装に特定の属性を設定できるようにします。 |
void |
setCoalescing(boolean coalescing)
このファクトリで作成されたパーサが CDATA ノードを Text ノードに変換し、それを隣接 (存在する場合) Text ノードに追加するように指定します。 |
void |
setExpandEntityReferences(boolean expandEntityRef)
このファクトリで作成されたパーサがエンティティ参照ノードを展開するように指定します。 |
abstract void |
setFeature(String name,
boolean value)
このファクトリによって生成された DocumentBuilderFactory および DocumentBuilder の機能を設定します。 |
void |
setIgnoringComments(boolean ignoreComments)
このコードで作成されたパーサがコメントを無視するように指定します。 |
void |
setIgnoringElementContentWhitespace(boolean whitespace)
このファクトリで作成されたパーサが、XML ドキュメントの構文解析時に要素の内容の空白 (大まかに「無視できる空白」と呼ばれることがある) を排除するように指定します (XML Rec 2.10 を参照)。 |
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 DocumentBuilderFactory()
メソッドの詳細 |
---|
public static DocumentBuilderFactory newInstance()
DocumentBuilderFactory
の新しいインスタンスを取得します。この static メソッドは新しいファクトリインスタンスを作成します。このメソッドは次の順序の検索手順で、ロードする DocumentBuilderFactory
実装クラスを決定します。javax.xml.parsers.DocumentBuilderFactory
システムプロパティを使用するjava.util.Properties
形式であり、上記のように定義されたシステムプロパティであるキーを持つ実装クラスの完全指定の名前を含む。jaxp.properties ファイルは JAXP 実装によって 1 回だけ読み込まれ、その値がその後の使用のためキャッシュされる。最初の読み込み時にファイルが存在しないと、その後にその存在がチェックされることはない。最初に読み込まれたあと、jaxp.properties のプロパティの値を変更することはできない。META-INF/services/javax.xml.parsers.DocumentBuilderFactory
ファイルからクラス名を検索するDocumentBuilderFactory
インスタンス DocumentBuilderFactory
への参照を取得すると、ファクトリを使用してパーサのインスタンスを設定および取得することができます。jaxp.debug
システムプロパティを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグメッセージを System.err に出力します。
DocumentBuilder
のロードに問題がある場合、次のようにします。
java -Djaxp.debug=1 YourProgram ....
DocumentBuilderFactory
の新しいインスタンス
FactoryConfigurationError
- 実装が使用できないかインスタンス化できない場合public abstract DocumentBuilder newDocumentBuilder() throws ParserConfigurationException
DocumentBuilder
の新しいインスタンスを作成します。
ParserConfigurationException
- 要求された構成を満たす DocumentBuilder を生成できない場合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 void setIgnoringElementContentWhitespace(boolean whitespace)
false
に設定されます。
whitespace
- 作成されたパーサが XML ドキュメントの構文解析時に要素の内容の空白を排除する必要がある場合は true、そうでない場合は falsepublic void setExpandEntityReferences(boolean expandEntityRef)
true
に設定されます。
expandEntityRef
- 作成されたパーサがエンティティ参照ノードを展開する場合は true、そうでない場合は falsepublic void setIgnoringComments(boolean ignoreComments)
このコードで作成されたパーサがコメントを無視するように指定します。デフォルトでは、この値は false
に設定されます。
ignoreComments
- 処理時にコメントを無視する boolean
値public void setCoalescing(boolean coalescing)
false
に設定されます。
coalescing
- 作成されたパーサが CDATA ノードを Text ノードに変換し、それを隣接 (存在する場合) Text ノードに追加する場合は true、そうでない場合は falsepublic boolean isNamespaceAware()
public boolean isValidating()
public boolean isIgnoringElementContentWhitespace()
public boolean isExpandEntityReferences()
public boolean isIgnoringComments()
public boolean isCoalescing()
public abstract void setAttribute(String name, Object value) throws IllegalArgumentException
name
- 属性の名前value
- 属性の値
IllegalArgumentException
- 基本となる実装が属性を認識しない場合にスローされるpublic abstract Object getAttribute(String name) throws IllegalArgumentException
name
- 属性の名前
IllegalArgumentException
- 基本となる実装が属性を認識しない場合にスローされるpublic abstract void setFeature(String name, boolean value) throws ParserConfigurationException
このファクトリによって生成された DocumentBuilderFactory
および DocumentBuilder
の機能を設定します。
機能名は完全修飾 URI
です。実装が独自の機能を定義することもできます。生成する DocumentBuilderFactory
または DocumentBuilder
がその機能をサポートできない場合は、ParserConfigurationException
がスローされます。DocumentBuilderFactory
は機能の値を表示できますが、その状態を変更することはできません。
実装はすべて XMLConstants.FEATURE_SECURE_PROCESSING
機能をサポートする必要があります。
true
の場合、実装は実装限界に準拠しない XML 処理を制限する。例は、エンティティ拡張制限や大容量のリソースを消費する XML スキーマなど。セキュリティ上の理由から XML 処理が制限される場合は、登録済みの ErrorHandler.fatalError(SAXParseException exception)
へ呼び出しを介して報告される。DocumentBuilder.setErrorHandler(org.xml.sax.ErrorHandler errorHandler)
を参照false
の場合、実装は、実装限界にかまわず、XML 仕様に従って XML を処理する
name
- 機能名value
- 機能の状態が true
か false
か
ParserConfigurationException
- 作成する DocumentBuilderFactory
または DocumentBuilder
がこの機能をサポートできない場合
NullPointerException
- name
パラメータが null の場合public abstract boolean getFeature(String name) throws ParserConfigurationException
名前が付けられた機能の状態を取得します。
機能名は完全修飾 URI
です。実装が独自の機能を定義することもできます。生成する DocumentBuilderFactory
または DocumentBuilder
がその機能をサポートできない場合は、ParserConfigurationException
がスローされます。DocumentBuilderFactory
は機能の値を表示できますが、その状態を変更することはできません。
name
- 機能名
ParserConfigurationException
- 作成する XPathFactory
または XPath
がこの機能をサポートできない場合public Schema getSchema()
setSchema(Schema schema)
メソッドによって指定された Schema
オブジェクトを取得します。
setSchema(Schema)
メソッドによって、最後に設定された Schema
オブジェクト、または SAXParserFactory
が作成されてから、メソッドが呼び出されていない場合は null
UnsupportedOperationException
- 下位互換性のため、JAXP の以前のバージョンを使用している場合に、この例外がスローされるpublic void setSchema(Schema schema)
このファクトリから作成されたパーサによって使用される Schema
を設定します。
Schema
が null 以外の場合、パーサはこれから作成されたバリデータを使用して、アプリケーションに情報を渡す前にドキュメントを検証します。
バリデータによってエラーが検出されると、パーサ自身がエラーを検出した場合と同様に、パーサがそのエラーをユーザ指定の DOMErrorHandler
へ報告します。エラーハンドラが設定されていない場合は、そのエラーは無視されるか、スローされます。つまり、ユーザ指定の DOMErrorHandler
が設定されている場合は、これらのエラーを受け取り、そうでない場合は実装固有のデフォルトのエラー処理規則にしたがって処理される必要があります。
バリデータは解析の結果を変更することがあり (たとえば、ドキュメントから失われていたデフォルト値を追加するなど)、パーサ側で変更済みの DOM ツリーをアプリケーションが受け取ることを確認する必要があります。
最初に、Schema
として null が設定されます。
この処理は isValidating()
メソッドが false を返した場合でも有効です。
http://java.sun.com/xml/jaxp/properties/schemaSource
プロパティまたは http://java.sun.com/xml/jaxp/properties/schemaLanguage
プロパティを Schema
オブジェクトと一緒に使用するとエラーになります。newDocumentBuilder()
の呼び出し時に、その設定によって ParserConfigurationException
例外が発生します。
パーサは、あらゆる 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 も参照してください。