XMLパーサとは、XML文書の構造をトレースして読むプログラムである。 一つのXML文書の内容を段落、表、節などの構造を反映した形で読み込む。 文書構造の例(XHTML文書)を以下に示す。
全体像としては現在の状態と入力値を元に
状態遷移図に従って状態を遷移させる一個の関数である。
解析すべきXML文書を一文字ずつこの関数に与えると状態が遷移し、
入力が終了するまでの間、n-ary木の形式で保存し続けている。
全ての文字を与えるまでこの関数を呼び出し、一度もエラーが起きなければ完了する。 途中で状態遷移が停止すればエラーとなる。いつエラーが起きたかで文書のどの部分に 誤りがあるかを知ることができる。
完全な構文木は完了後に参照できる。 部分木は解析の途中であっても参照することができ、 これをもとにしてエラー時にも文書構造を見ることができ、 逐次的な修正も可能である。 ただし、構造的に欠落がないタイミングは 状態が状態遷移図中の{S1,S7}の場合である。 そうでない場合には処理中のノードは未完成である。
ノードの内容 | 全体構造 |
|
![]() |