2009年7月 7日

[ruby-list:46177] Re: libxml で検証結果を取り出すには

大原と言います。

From: "5.5" <5.5@xxxxx>
Subject: [ruby-list:46164] libxml で検証結果を取り出すには
Message-ID: <4A50A326.5050705@xxxxx>
Date: Sun, 5 Jul 2009 21:57:14 +0900

> libxml-ruby を使って XML 文書の検証結果を Logger オブジェクトに

> 記録しようとしたのですが,やり方が分かりませんでした。
>
> まず,以下のスクリプトで,エラーメッセージがどのように出力される
> か確かめます。

LibXML では LibXML::XML::Error#set_handler メソッドで
エラーハンドリング用の処理を登録することができるようになっています。

http://libxml.rubyforge.org/rdoc/classes/LibXML/XML/Error.html

デフォルトでは、エラーを STDERR に出力するメソッドが登録されていますが、
これを set_handler で所望の処理を行うように登録してやると良いと思います。


Logger = File.open("validate.log", "a+")

doc=LibXML::XML::Document.string "<root><foo /></root>"
dtd=LibXML::XML::Dtd.new "<!ELEMENT root (#PCDATA)>"

begin
LibXML::XML::Error.set_handler { |error|
Logger.puts error.message
}
doc.validate(dtd)
rescue => e
puts e
end

----
OHARA Shigeki (大原 重樹) <os@xxxxx>


投稿者 xml-rpc : 2009年7月 7日 17:40
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/86511
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。