XMLとは?IT初心者でもすぐわかるXML基礎知識 - ワンソース・マルチユースの要となるXSLT

XML/XML DBのサイバーテック:XMLとは?IT初心者でもすぐわかるXML基礎知識 第7回

XMLは、文章の見た目や構造を記述するためのマークアップ言語の一種です。 主にデータのやりとりや管理を簡単にする目的で使われ、記述形式がわかりやすいという特徴があります。
Web技術で頻繁に登場する、HTMLをはじめ、SVG、XHTML、XSLT、RFTなども、 XML と同じマークアップ言語のひとつです。

XMLは、異なるプラットフォーム間でも同じように読めるようにするため、テキスト形式で記述します。XMLが持つのはデータの構造記述のみです。各プラットフォームでデータを表現するための記述は(基本的には)持ちません。データを表現するという行為は各プラットフォームに依存しているので、XMLデータに表現データであるレイアウト情報を付与してやらなくてはなりません。この時に必要となるのがXSLTです。「ワンソース・マルチユース」を実現するために、XSLTは大きな役割を果たしているのです。

▼目次

ワンソース・マルチユースの要となるXSLT

XMLを使うと、1つのデータをホームページの表示に使ったり、紙の印刷物に展開したりすることができるのはご存知のとおりです。しかし、それをどのような仕組みで行っているかについて、考えたことはあるでしょうか。

基本的なところから始めてみましょう。XMLでは、データの文書構造をテキスト形式で記述します。テキスト形式を使う理由は「異なるプラットフォーム間でも同じように読めるようにするため」です。つまり、プラットフォームの違いを気にせず、データ交換を行えるようにするためです。よって、XMLが持つのはデータの構造記述のみです。各プラットフォームでデータを表現するための記述は(基本的には)持ちません。なぜなら、データを表現するという行為は、各プラットフォームに依存しているからです。表現データを持つということは、XMLデータの利点である互換性を消してしまうことに繋がります。

これを逆から考えてみましょう。XMLデータを各プラットフォーム上で表現する場合、XMLデータだけでは足りないことになります。XMLデータには、あらたに表現データであるレイアウト情報を付与してやらなくてはなりません。「XMLデータ」→「XMLデータ+レイアウト情報」というわけです。
この時に必要となってくる作業は次の2つです。

XMLデータのマルチプラットフォーム化

(1)XMLデータを各プラットフォームが読み取れるデータ形式に変換する
(2)(1)で変換したデータに対し、レイアウト情報を付与する

この内、1番の処理を担当しているのが、XSLT(eXtensible Stylesheet Language Transformations)です。XMLデータを構造変換するための一種のプログラム言語と考えて差し支え有りません。繰り返し命令や分岐命令なども使用でき、複雑なデータ変換に対応できるようになっています。XSLTで変換されたデータは、2番の手続きを経て、各プラットフォームで表現される形になるのです。 ここまでをまとめてみると、下の図の様になります。

プラットフォーム間でやりとりされているのは、XMLデータのみです。このデータはテキストデータですから、どのプラットフォームでも読むことが可能です。それぞれのプラットフォームで展開・表現しようと思ったとき、データにはレイアウト情報を付与する必要があります。そこで、XSLTでつくった変換フィルタにXMLデータを通して構造変換したデータを作り上げ、その後にレイアウト情報を付与します。各プラットフォームでは、変換後のデータを用いて表示を行います。

XMLデータのマルチプラットフォーム化

マルチユースを可能にする変換用ツールXSLT

上記の様に、XSLTを使用すると、XMLデータの構造を自由に変換することができます。しかも、データを変換するためのロジックと、XMLデータとは完全に分離されています。この事は、一体何を意味しているのでしょうか。

端的に言うと、XSLTで作った変換用フィルタを複数個用意すれば、1つのXMLデータを幾通りにも変換可能になるということです。1種類のデータを様々な形に変換し、利用することができるわけですから、もととなるデータが1つあれば、複数のプラットフォームへ簡単に展開させることができる事になります。また、一旦各プラットフォーム用の変換フィルタを作っておけば、以後必要に応じてデータ変換を容易に行えます。

XSLTは、もともとはXMLデータの印刷・表示を行うための変換ツールの一環として使われていました。しかし現在では、XMLデータの一般的な変換用ツールとして見なされるようになっています。変換ロジックと、データとがそれぞれ分離しているという特性のためです。XSLTを使用すれば、リレーショナルデータベース上のデータをXML形式に変換し、そのデータをHTMLデータに変換するといった事も容易に実現できます。

XMLの理想とする使用形態の一つに「ワンソース・マルチユース」があります。XSLTは、この理想を実現するために、大きな役割を果たしているのです。

御相談、ご質問はこちら

お気軽にご相談ください

製品カタログ・セミナーでの講演資料など、豊富な資料がダウンロードできます

最新事例の公開情報や、イベント・セミナー情報をお届け

pagetop ボタン