ホーム > X-Plus > XML Square >  ビギナーズコーナー  >  XML入門

この記事を送る はてなブックマークに追加する BuzzurlにブックマークBuzzurlにブックマーク Yahoo!ブックマークに登録
テキストリンクコードを取得する

ビギナーズコーナー:XML入門(7)

2001年05月31日作成 

(株)日本ユニテック 野田 俊太郎
1.XMLとは
    XML仕様制定までの歴史
2.XMLの長所
    「拡張可能」と「意味情報」
3.文書における「内容」「構造」「体裁」の分離
    XML文書の記述方法
4.XML宣言( XML declaration )
    XMLインスタンス
5.DTD ( Document Type Definition ) の記述方法
6.検証済みXML文書と整形式XML文書
7.XML関連規格
    まとめ

XML関連規格

XML文書を実際のアプリケーションで活用するためには、XML仕様のほかに様々な関連規格が必要とされる。ここではそのうちのいくつかを紹介する。

XML文書に体裁を付与する規格  CSSとXSL

XMLでは文書を、内容、構造、体裁、という3つの構成要素に分けて扱う。したがって、XML文書をWebブラウザで表示したり、印刷したりする場合には、スタイルシートで体裁を与えることになる。XML文書に体裁を与える方法には、CSSとXSLという2種類のスタイルシートによる方法がある。

CSS(Cascading Style Sheet)

CSSは、もともとHTMLのスタイルシートとして開発された規格である。CSSには、レベル1(CSS1)とレベル2(CSS2)という2つの勧告があり、CSS2がXMLに対応している。

XSL(Extensible Stylesheet Language)

XSLは、XML文書に体裁を付与するためのスタイルシートであり、プロフェッショナルアートの世界にも通用するような本格的なスタイルシートにすることを目指してW3Cにより標準化作業が進められている規格である。XSLは次の2つの規格で構成される。

  • ・XSL(Extensible Style Language)
  • ・XSLT(XSL Transformation)

XSLという規格はページ情報、段落に相当するブロック情報、表の情報を表現するため、Formatting Objectsと呼ばれるフォーマットに関したオブジェクトを定義している。一方、XSLTのパートは1999年11月にW3C勧告となっている。もともと、XSLという規格の1パートだったのが切り離されて、XSL本体よりも先に勧告としてリリースされた。
XSLTには、あるツリー構造のXML文書(ソースツリー)を別のツリー構造の文書(結果ツリー)に変換するための変換処理上のルールが記述される。この際の変換ルールはXMLの文法にしたがって記述される。つまり、XSLTは整形式XML文書であると考えることができる。
例えば、XSLTを用いてXML文書をHTML文書に変換する際、XML文書内の<title>タグをHTMLの<H1>タグに変換したいとする。このときXSLTのファイル内では次のようなルールが記述される。

<xsl:template match = "title">
    <H1>
        <xsl:apply-templates/>
    </H1>
</xsl:template>

XML文書のリンク関連規格 XLinkとXpointer

HTMLのリンク機能は、片方向ジャンプ、つまり飛び先は一箇所だけで、戻ってくることができない。実際には、Webブラウザがリンク元テキストの場所を覚えているので戻ってくることができているに過ぎない。
XMLでは、更に複雑なリンク機能を実現することを目標に、リンク関連の規格XLink、XPointerの標準化作業がW3Cにて進められている。

具体的には次のようなことが可能となる。

  • 双方向のリンクを定義することができる。
  • AからB、BからC、CからAというようにループ上のリンクを定義することができる。
  • 一箇所から複数の個所へのリンクを定義することができる。
  • XML文書内の様々な要素(タグや要素中の文字列など)をリンク元にすることができる。 
 

XML文書に対するインターフェイス DOMとSAX

DOM(Document Object Model)

DOMとは、プラットフォームやプログラム言語に依存しないXML文書の標準的なプログラミングインターフェイスを定義した仕様である。つまり、プログラム中からXML文書にアクセスする際のインターフェイスがDOMである。XML文書へのアクセスインターフェイスが標準化されていることにより、プログラムの再利用化、移植が容易になる。
DOMの特徴のひとつは、XML文書がオブジェクトのツリーとしてメモリー上に展開されることである。このメモリー上のオブジェクトを介してプログラムからXML文書にアクセスすることになる。このオブジェクトのツリーに要素を追加、削除したり、その内容を更新することでツリーに変更を加え、それをファイルに保存すると、もとのXML文書とは別のXML文書が作成される。つまり、XML文書の内容、構造を変更することが可能なわけである。

SAX(Simple API for XML)

DOMがツリー構造ベースのAPIであるのに対して、SAXはイベント駆動型のAPIである。イベントとして「要素が始まった」「要素が終了した」などがアプリケーションに通知され、必要な処理が行われる。DOMのようにXML文書のツリーがメモリー上に展開されるということはない。
"Simple"とあるように、DOMのような複雑な処理をするインターフェイスは備わっていない。例えば、要素を追加、削除するなどXML文書の構造を変更することはできない。 この規格は、W3Cが勧告している仕様ではなく、XML-DEVというXML開発者のメーリングリストのメンバーが議論を重ねて作った仕様であり、業界標準のAPIとして広く使われている。

仕 様
状 況
XSL 勧告候補(2000年12月現在)
XSLT 1999年11月勧告
XPath 1999年11月勧告
XPointer 勧告候補(2000年12月現在)
XLink 勧告案(2000年12月現在)
Namespace 1999年1月勧告
DOM level1 1998年10月勧告
DOM level2 2000年11月勧告
XML関連規格の標準化動向(W3C)

まとめ

以上XMLの歴史、文法、周辺技術について簡単に紹介した。
現在、XMLは情報処理におけるメインストリームとなっており、データフォーマットの標準としての地位を築こうとしている。今後情報処理に携わる者にとってはXMLは避けることのできない必須の知識となるであろう。本稿がXMLの世界への足がかりとなれば幸いである。


<<前の記事へ
ビギナーズコーナートップへ


関連サービス

XMLを使ったシステム構築への支援業務



この記事と関連の高い記事

関連キーワード:XML入門


関連キーワード:XML関連規格




ページトップへ戻る