- - PR -
JAXPのDOMパースでのwarning
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-18 13:47
JAXPのDOMパースに関してです。
ErrorHandlerに渡るエラーの内、errorとfatalErrorが発生するパターンは簡単に分かったのですが、warningが発生するケースがどうしても分かりません。 このwarningエラーが発生するパターンをご存知の方がいらっしゃいましたら、教示お願い致します。 xmlにはdtdファイルがあり、下記のようなコーディングを行っております。 (JDKは5.0です)
| ||||
|
投稿日時: 2006-12-18 13:52
JAXPの中身がXercesであれば、以下のページの warn-on-... をセットして該当の条件になればwarning()が呼ばれるのではないでしょうか。試していませんが。
http://xerces.apache.org/xerces2-j/features.html | ||||
|
投稿日時: 2006-12-18 14:37
返信ありがとうございます。
下記のサイトに記載されているwarn-on-...のFeatureを、DocumentBuilderFactory01.setFeature()により指定してみたのですが、 javax.xml.parsers.ParserConfigurationException: jaxp_feature_not_supported になってしまいました。 http://xerces.apache.org/xerces2-j/features.html なお、General Featuresである http://xml.org/sax/features/namespaces も同様のエラーになりましたので、どのFeatureもダメのようです。 | ||||
|
投稿日時: 2006-12-18 16:09
Xerces2.9.0を使って試してみました。
Feature:http://apache.org/xml/features/validation/warn-on-duplicate-attdef XMLのサンプル: <?xml version="1.0"?> <!DOCTYPE welcome [ <!ATTLIST welcome id ID #IMPLIED> <!ATTLIST welcome id CDATA #REQUIRED> ]> <welcome id="a" id="b"> </welcome> この環境でfinchさんのコードを使ったところ、warningメソッドが呼ばれました。 ただし、JDK付属のXercesでは認識しないようです。 | ||||
|
投稿日時: 2006-12-19 09:39
tanaboさん、返信ありがとうございます。
まず、JAXPでsetFeature()がエラーになる件ですが、setAttribute()により、エラーにならなくなりました。 次に、tanaboさんが実験して頂いた条件ですが、JAXPでは、このFeatureを設定してもしなくても、fatalErrorになりました。 しかし、DTDを下記のようにすると、このFeatureを設定した場合に、warningが発生しました。
|
1