2010年3月15日月曜日

[XML] やりなおし XML Schema (1)

なんとなく読める程度でごまかしてきた XML Schema なのだけれど JAXB なんかを触っていると、知らなくて困ることが時々出てくる。深く突っ込むのは無理(不毛・・・。^^)としても、基礎的な部分だけでもさらっておこうと思う。

ざっと公式サイトを見た感じ、なにはともあれ

XML Schema Part 0: Primer (日本語訳)
を読めということのようなので、このチュートリアルをできるだけ噛み砕いて読んでみることにする。

その他、検索して引っかかった入門記事など。






そもそも、XML Schema とは。

スキーマの目的は、XML文書のあるクラスを定義することである。

(XML Schema Part 0: Primer)

オブジェクト指向の言葉を借りると、スキーマがクラス(型)で、そのスキーマに従って書かれた個々のXML文書がインスタンス。XMLパーサは、XML文書がXMLスキーマに適合しているかどうかを検証する機能をもっている。
XMLのスキーマを表現するのにはもともとDTDが使われていたのだけれど、要素のデータ型(数値とか文字列とか)を表現したい、スキーマ自体もXMLで書きたい、名前空間を使いたい、などなどのわがまま理由から XML Schema が策定された。
で、厳密さを追求するときりがないのか、関わっているベンダーの思惑を色々取り入れすぎたのか、複雑になりすぎて収集がつかなくなっている状況、というのが通説。(その反動で RELAX NG が生まれたりしている。)


XML Schema を扱うためのツール

エディタは無料のものから高価なグラフィカルエディタまでいろいろあるらしい。

XML Notepad 2007
これは XML Schema というより、XML汎用のエディタ。もはや人間がテキストエディタで書くような代物ではない気がするけれど、勉強するには手打ちしないとね。 ><

単体エディタより、Eclipse や NetBeans のプラグインを使うのが良策なのかも。
あとはマイナーなネイティブXMLDBが近くにあるような幸運(?)な状況なら付属のエディタとか。。。

XML Schema をベースにしている技術、仕様など
  • JAXB
  • MPEG-7
  • Microsoft Office の XML Format


つづく。

0 件のコメント:

コメントを投稿