- - PR -
ParserConfigurationException
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-14 18:26
下記のプログラムにおいて、意図的に
ParserConfigurationException を発生させたいと考えております。 ParserConfigurationExceptionに関して、Javadocを見ると http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/xml/parsers/ParserConfigurationException.html 「重大な構成エラーを示します。」 と一言書いてあるのですが、実際のところどのような 場合におきるのでしょうか? ご存知の方がいらっしゃいましたらご教授ください。 import java.io.OutputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.apache.xml.serialize.OutputFormat; import org.apache.xml.serialize.XMLSerializer; import org.xml.sax.SAXException; public class XMLUtil { //パーサーの作成(妥当性検証無し) public static DocumentBuilder getParser() throws ParserConfigurationException, SAXException { //document builder factory を作る DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //名前空間を認識する factory.setNamespaceAware(true); //builder object(パーサー) を作る DocumentBuilder parser = factory.newDocumentBuilder(); return parser; } //DOMツリーを出力する public static XMLSerializer getSerializer(OutputStream out) { //出力フォーマットの指定 OutputFormat formatter = new OutputFormat(); //空白文字の保存 formatter.setPreserveSpace(true); //XMLSerializer の作成 XMLSerializer serializer = new XMLSerializer(out, formatter); return serializer; } } | ||||
|
投稿日時: 2004-10-14 18:41
私も起きたことが無いんで何とも言いがたいんですが ![]() パーサとはXMLパーサのことであり、XMLパーサのAPIはJAXPとして標準化されています。 従って、Java2 APIはXMLパーサの実装とは切り離されています。例えば、XMLパーサの 実装としては、Apache XMLのXercesなんかが有名です。 で、JavaプログラムからはJAXPを経由してパーサを呼び出すんですが、その際に パーサの設定がおかしい(例えば指定したパーサの実装クラスが見つからない)場合に 上記例外が吐かれると思われます。 # あれ、でもこれだとClassNotFoundExceptionになるのかな?? | ||||
|
投稿日時: 2004-10-14 18:58
DocumentBuilderFactoryインタフェースを実装しnewDocumentBuilderメソッドで例外を
発生するようにしたダミークラスを作成し、そのクラスを javax.xml.parsers.DocumentBuilderFactoryシステムプロパティで指定する。 で、どうですか? |
1