Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus XML Processor ユーザーズガイド


3.4.7 高速パース機能で使用するクラス

高速パース機能を使用する場合,次に示すクラスを使用します。

各クラスについて説明します。

〈この項の構成〉

(1) PreparsedObjectFactoryクラス

(a) 説明

解析結果オブジェクトを生成するためのファクトリクラスです。

PreparsedObjectFactoryクラスは,スレッドセーフではありません。このため,複数のスレッドから同時に同じPreparsedObjectFactoryにアクセスすることはできません。PreparsedObjectFactoryクラスは,スレッド間の競合を避けるため,次のどちらかの方法で使用してください。

  • 各スレッドに1つのPreparsedObjectFactoryインスタンスを持つ。

  • 各スレッドが排他的にPreparsedObjectFactoryインスタンスにアクセスする。

(b) パッケージ名およびクラス名

com.cosminexus.jaxp.preparsedxml.PreparsedObjectFactory

(c) 形式

public class PreparsedObjectFactory

(d) メソッド一覧

メソッド名

機能

newInstance

解析結果オブジェクトを生成するためのファクトリを生成して返却する。

setNamespaceAware

事前解析用XML文書を解析する際の名前空間の有効・無効を設定する。

setErrorHandler

事前解析用XML文書の解析で発生するエラーを受け取るエラーハンドラを設定する。

setEntityResolver

事前解析用XML文書に含まれるエンティティを解決するためのエンティティリゾルバを設定する。

setTuningInfoFlag

チューニング情報を出力するかどうかを設定する。

newPreparsedObject

事前解析用XML文書を解析して,解析結果オブジェクトを生成する。

(e) メソッド詳細

newInstanceメソッド
説明

解析結果オブジェクトを生成するためのファクトリを生成して返却します。

形式
public static PreparsedObjectFactory newInstance()
パラメタ

なし

戻り値

PreparsedObjectFactoryの新しいインスタンスを返却します。

例外

なし

setNamespaceAwareメソッド
説明

事前解析用XML文書を解析する際の名前空間の有効・無効を設定します。

デフォルトでは,falseが設定されています。

形式
public void setNamespaceAware(boolean awareness)
パラメタ
  • awareness

    名前空間の有効・無効を設定します。

    true:名前空間を有効にする

    false:名前空間を無効にする

戻り値

なし

例外

なし

setErrorHandlerメソッド
説明

newPreparsedObjectメソッドを呼び出す際に,事前解析用XML文書の解析で発生するエラーを受け取るエラーハンドラを設定します。

デフォルトでは,次のエラーハンドラが設定されているように動作します。

class DefaultErrorHandler implements ErrorHandler {
     public void fatalError(SAXParseException e) throws SAXException {
         throw e;
     }
     public void error(SAXParseException e) throws SAXException {
         throw e;
     }
     public void warning(SAXParseException e) throws SAXException {
         // 何もしない
     }
 }
形式
public void setErrorHandler(org.xml.sax.ErrorHandler errorHandler)
パラメタ
  • errorHandler

    エラーハンドラを設定します。nullを設定した場合,デフォルトの動作になります。

戻り値

なし

例外

なし

setEntityResolverメソッド
説明

newPreparsedObjectメソッドを呼び出す際に,事前解析用XML文書に含まれるエンティティを解決するためのエンティティリゾルバを設定します。

デフォルトでは,次のエンティティリゾルバが設定されているように動作します。

class DefaultEntityResolver implements EntityResolver {
     InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
         return null; // 常にnullを返す
     }
}
形式
public void setEntityResolver(org.xml.sax.EntityResolver entityResolver)
パラメタ
  • entityResolver

    エンティティリゾルバを設定します。nullを設定した場合,デフォルトの動作になります。

戻り値

なし

例外

なし

setTuningInfoFlagメソッド
説明

チューニング情報を出力するかどうかを設定します。

デフォルトでは,falseが設定されています。

チューニング情報を出力する場合は,このメソッドでtrueを設定し,システムプロパティ「com.cosminexus.jaxp.preparsedxml.tuning.level」にINFOを設定する必要があります。チューニング情報の出力方法の詳細については,「3.4.9(3) チューニング情報の出力方法」を参照してください。

形式
public void setTuningInfoFlag(boolean state)
パラメタ
  • state

    チューニング情報を出力するかどうかを設定します。

    true:チューニング情報を出力する

    false:チューニング情報を出力しない

戻り値

なし

例外

なし

newPreparsedObjectメソッド
説明

事前解析用XML文書を解析して,解析結果オブジェクトを生成します。

形式

public PreparsedObject newPreparsedObject(java.io.File xml)

throws IllegalArgumentException, SAXException, IOException

パラメタ
  • xml

    事前解析用XML文書を示すFileオブジェクトを指定します。nullは指定できません。

戻り値

解析結果オブジェクトであるPreparsedObjectの新しいインスタンスを返却します。

例外
  • IllegalArgumentException

    xmlパラメタにnullが指定されているときに発生します。

  • SAXException

    次の場合に発生します。

    ・処理中にSAXエラーが発生したとき

    ・XML1.1文書を事前解析しようとしたとき(詳細については「6.19.3 XML1.1に関する注意事項」を参照のこと)

  • IOException

    入出力エラーが発生したときに発生します。

(2) PreparsedObjectクラス

(a) 説明

解析結果オブジェクトを示すクラスです。

(b) パッケージ名およびクラス名

com.cosminexus.jaxp.preparsedxml.PreparsedObject

(c) 形式

public class PreparsedObject

(d) メソッド一覧

メソッド名

機能

isNamespaceAware

事前解析用XML文書を解析する際に設定された名前空間の有効・無効を返却する。

getErrorHandler

事前解析用XML文書を解析する際に設定されたエラーハンドラを返却する。

getEntityResolver

事前解析用XML文書を解析する際に設定されたエンティティリゾルバを返却する。

(e) メソッド詳細

isNamespaceAwareメソッド
説明

事前解析用XML文書を解析する際に設定された名前空間の有効・無効を返却します。

形式
public boolean isNamespaceAware()
パラメタ

なし

戻り値

true:名前空間が有効である

false:名前空間が無効である

例外

なし

getErrorHandlerメソッド
説明

事前解析用XML文書を解析する際に設定されたエラーハンドラを返却します。

形式
public ErrorHandler getErrorHandler()
パラメタ

なし

戻り値

事前解析用XML文書を解析する際に設定されたエラーハンドラを返却します。設定されていない場合は,nullを返却します。

例外

なし

getEntityResolverメソッド
説明

事前解析用XML文書を解析する際に設定されたエンティティリゾルバを返却します。

形式
public EntityResolver getEntityResolver()
パラメタ

なし

戻り値

事前解析用XML文書を解析する際に設定されたエンティティリゾルバを返却します。設定されていない場合は,nullを返却します。

例外

なし