XML の解析エラーを調べる

今まで、XML の onLoad イベント発生時に seccess の値で処理を振り分けるイディオムは書いていたけれど、解析の成否までは確認していなかった。XML ドキュメントを読み込むこと自体に成功しても、解析の段階で失敗していると、後々の処理で問題が生じてしまう。これではプログラムとしても甘いし、デバッグにも不便です。

なので、onLoad 時 (もしくは XML オブジェクトを作成時) に、XML.status プロパティ を確認して、解析の成否も判断するようにした。XML.status プロパティには、ブール値でなくてエラーのステータスコードが格納される。それが負の値ならば、何らかのエラーが発生していることが解る。

以下の XML ドキュメントは、属性 id の値が文字列では無い (引用符で囲っていない) 為、status コードが「XML エレメント形式の不正」を表す -6 となる。

<hoge>
<foo id=100>bar</foo>
</hoge>