[Seasar-user:2618] Re: SAXNotRecognizedExceptionについて

Koichi Kobayashi koichik
2005年 9月 28日 (水) 03:20:59 JST


小林 (koichik) です.

Date:    Tue, 20 Sep 2005 13:30:18 +0000
From:    "RedHat0j @" <finepix6900z @ hotmail.com>
To:      seasar-user @ lists.sourceforge.jp
Subject: [Seasar-user:2589] SAXNotRecognizedExceptionについて

> OTNの方へも投稿しており、マルチになりますがご容赦ください。

あちらで回答が付いていますが,それで解決しましたか?
もし解決していない (というか Xerces を使いたくない) 場合ですが,
クラスパス (WEB-INF/lib など) から Xerces の Jar ファイルを
外してみてはいかがでしょうか?

Digester のソースを見ると,Xerces の org.apache.xerces.impl.Version 
クラスをロードできる場合は Xerces を使おうとするようです.
しかし,JAXP により作成されるパーザは Xerces ではなく Oracle のもので,
それは http://apache.org/xml/features/validation/dynamic をサポート
していないため SAXNotRecognizedException が発生します.
逆に言うと,この例外がここで発生しているということは,Xerces の Jar が
クラスパス上のどこかにあるという事になります.
Oracle の XML パーザを使うのであれば,Xerces は不要ではないかと
思うのですが,もしそうであれば Xerces の Jar ファイルをクラスパスから
取り除くことで org.apache.xerces.impl.Version が見つからなくなり,
http://apache.org/xml/features/validation/dynamic が設定されなくなるため,
この例外は発生しないと思われます.
Xerces を外せるのかどうか分かりませんが,ご参考までに.

-- 
<signature>
    <name>Koichi Kobayashi</name>
    <e-mail>koichik @ improvement.jp</e-mail>
</signature>



Seasar-user メーリングリストの案内