今回は DocumentBuilderFactory に設定できる項目を見ていきます。 これら DocumentBuilderFactory の設定項目はそのインスタンスから生成する DocumentBuilder に受け継がれます。 SAXParserFactory, SAXParser の場合と同様に、DocumentBuilder に対しては、設定値を取得できるものもありますが、新たに設定を行うことはできません(記事一覧)。
JavaBeans プロパティ
まず DocumentBuilderFactory が持っている JavaBeans としてのプロパティを見てみましょう:
| 名前 | 型 | デフォルト値 | 説明 |
|---|---|---|---|
| coalescing | boolean | false | CDATA セクションの文字列をテキストノードに変換してテキストノードとひとまとめにするかどうか。 false の場合は、CDATA セクションをそのまま保持する。 |
| expandEntityReferences | boolean | true | 実体参照を解決するかどうか。 |
| ignoreComments | boolean | false | コメントを無視するかどうか。 |
| ignoreContentWhitespace | boolean | false | 無視できる空白文字を無視するかどうか*1。 |
| namespaceAware | boolean | false | 名前空間を解析するかどうか。 |
| validating | boolean | false | 妥当性検証を行うかどうか。 |
| xIncludeAware | boolean | false | XInclude を解決するかどうか。 |
| schema | javax.xml.validation.Schema | null | XML の文法を定義するスキーマ。 Schema オブジェクトが設定されれば、validating プロパティが false に設定されていても妥当性検証が行われる。 |
boolean 型のプロパティは、取得メソッドは isXxx()、設定メソッドは getXxx() の形をしています。 schema プロパティのアクセッサ・メソッドは getSchema(), setSchema() です。
その他の設定項目
上記のプロパティ以外に feature と attribute という設定項目があります。
| 型 | getter メソッド | setter メソッド | 説明 | |
|---|---|---|---|---|
| feature | boolean | getFeature(String) | setFeature(String, boolean) | 名前と boolean 値のペア |
| attribute | Object | getAttribute(String) | setAttribute(String, Object) | 名前と Object 値のペア |
サポートしている設定項目は実装に依存します。