XML講座

ここでは、XMLに関する情報を記述していきます。

XMLとは

XMLはマークアップランゲージ(Markup Language)の一種である。マークアップランゲージは、文字列をタグ(tag)で囲み構造的に記述することにより文書をさまざまなコンピュータ処理を対象となるように開発されたものである。

XMLの文法

XMLには「要素」と「属性」が存在する。

要素

<name>知能情報ソフトウエア研究室</name>

要素に別の要素をネストさせた例

<labo> 
<name>知能情報ソフトウエア研究室</name> 
</labo> 

空要素の記述例

要素にはコンテンツを持たない空要素もある。

<labo></labo>

または

<labo/>

と書く。

属性(attribute)

属性は要素に対して付加的な情報を加えるために使用される。属性は要素の開始タグまたは空要素のタグに記述される。

name属性にyomi属性を記述した例

<name yomi="オチラボ">ochilab</name>

XMLパーサー

XMLはテキストファイルであるため、XMLファイルの作成・読み込みは通常のテキスト処理と同様にできる。しかし、一般的にはそんな馬鹿な事はせず、XMLパーサーと呼ばれる解析ツールを用いて作成や読み込みを行う。XMLパーサーを利用することで、XMLの構造に着目したデータ処理をすることができる。XMLパーサーには、の2種類が一般的に使われており、代表的な言語にはもれなくライブラリが用意されている。

    • DOM
    • XMLファイルを書き出す場合や、XMLデータを変更する(例えば別なXMLに変換したり、要素を修正したり)、XMLデータを何度も走査する(検索したりするとき)際に利用される。
    • SAX
    • XMLファイルは読み込み専門で書き出すことはない。XMLファイルのサイズが非常に大きい場合や、 XMLファイルの中のごく一部のデータを使う際に利用される。

XML文書が文法に照らして正確に記述されているかどうかを同時に検証できる。使い方は言語により異なるのでここでは割愛する。

代表的なXML関連のライブラリは、

  • IBM XML Parser for Java
  • Xerces
  • OpenXML
  • Oracle XML Parser for Java
  • JAXP(Java API for XML Processing)・・・ Java標準

XPath

XMLのツリー構造に着目して任意の要素のデータを指定する方法として、XPathがある。