Java API for XML Processing
SAXパーサーはSAXParserと呼ばれ、javax.xml.parsers.SAXParserFactoryによって生成される。DOMパーサーと違い、SAXパーサーはメモリ内にXML文書の表現を作らないので、より高速でメモリ使用量が少ない。その代わりに、SAXパーサーは、コールバックを呼び出す、すなわち、あらかじめパーサーに渡しておいたorg.xml.sax.helpers.DefaultHandlerインスタンスのメソッドを呼び出すことで、XML文書の構造をクライアントに通知する。
DefaultHandlerクラスはContentHandler、ErrorHandler、DTDHandler、EntityResolverの各インタフェースを実装している。ほとんどのクライアントは、ContentHandlerインタフェースで定義されたメソッドを使うことになる。これらのメソッドは、XML文書内の対応する要素をSAXパーサーが見つけたときに呼び出される。SAXインタフェースの中でもっとも重要なメソッドとして、次のようなものがある。
startDocument()とendDocument()メソッド。XML文書の先頭と末尾で呼び出される。
startElement() and endElement()メソッド。要素の開始地点と終了地点で呼び出される。
characters()メソッド。要素の開始タグと終了タグの間にあるテキストデータで呼び出される。
クライアントは、DefaultHandlerのサブクラスでこれらのメソッドをオーバーライドしてデータを処理する。処理の中でデータをデータベースに保存したり、ストリームに書き出したりすることもある。