4.6 高速パース機能のプロパティの使用方法

高速パース機能を使用するためには,XML Processorが独自に規定する次のプロパティを設定する必要があります。

[図データ]

プロパティの値には,nullまたはPreparsedObjectオブジェクトを設定します。設定するプロパティの値とその意味を次の表に示します。

表4-7 設定するプロパティの値とその意味(高速パース機能)

プロパティに設定する値意味
null解析時に解析結果オブジェクトを使用しない。
PreparsedObjectオブジェクト解析時に,指定した解析結果オブジェクトを使用する。
注※
指定が省略された場合は,nullが指定されたものとして扱います。
また,nullおよびPreparsedObjectオブジェクト以外の値が設定された場合は,プロパティが設定されているXMLパーサによって,次の例外が発生します。
  • DocumentBuilderFactoryの場合:IllegalArgumentException
  • SAXParserまたはXMLReaderの場合:SAXNotSupportedException

高速パース機能のプロパティは,次に示すXMLパーサのオブジェクトごとに設定する必要があります。解析結果オブジェクトの設定用メソッドを次の表に示します。次の表では,プロパティの設定に使用するメソッドを,クラス,インタフェースごとに示しています。

表4-8 解析結果オブジェクトの設定用メソッド

クラス,インタフェースメソッド
javax.xml.parsers.DocumentBuilderFactorysetAttribute
javax.xml.parsers.SAXParsersetProperty
org.xml.sax.XMLReadersetProperty

DocumentBuilder,SAXParser,およびXMLReaderで高速パース機能を使用する場合について,例を用いて説明します。

<この節の構成>
4.6.1 DocumentBuilderに解析結果オブジェクトを設定する方法
4.6.2 SAXParserに解析結果オブジェクトを設定する方法
4.6.3 XMLReaderに解析結果オブジェクトを設定する方法