Avenue

 

XMLの概要

 

XMLとは

ここ1、2年の間に、XMLという言葉をどこでも頻繁に耳にするようになりました。しかし、実際にXMLとは何でしょうか。なぜこれほどまで重要視されているのでしょうか。

ここでは、XMLとは何か、およびその仕組みと用法について、基本的な事項を解説します。

XML:Extensible Markup Language

簡単に説明すると、XML(Extensible Markup Language:拡張可能なマーク付け言語)とは情報/コンテンツに「ラベリング」し、その構造を管理するための言語です。この仕組みは、情報/コンテンツの管理と提供を大幅に簡略化させるものであり、また、誰もが使用できるオープンスタンダードであるため、非常に重要です

情報のラベリング

XMLでは、必要な情報の左右に<タグ>を付けることで、情報の「ラベリング」を行います。たとえば、あるテキストを本のタイトルとして注記したい場合は、これらの単語の両側を、開始タグ<bookTitle>と終了タグ</bookTitle>で囲み、次のように記述します。

<bookTitle>XMLとその利用</bookTitle>

このようにラベリングすると、コンピュータ側でこれらの情報がたいへん扱いやすくなります。たとえば、多数のXMLファイルの中から<bookTitle>というタグの付いた一連のテキストをすべて検索し、その結果をリストにして返す、といったプログラミングが可能です。また、ラベルを付けることで、特定のテキストを特定の書式に自動整形することも簡単です。

XML用語:個々のユニークなラベルタイプを「要素型」と呼びます。タグで囲まれたひとまとまりのテキストを「要素」と呼びます。

構造の管理

XMLを使用して、情報の構造を指定することもできます。たとえば、書籍リストを作成したいとします。このリストには、1冊の本につき書籍名、著者名、および出版社名を記載します。XMLを使用すると、1冊の本の項目は次のように指定できます。

<book>
<title>XMLとその利用</title>
<author>安部 太郎</author>
<publisher>クォーク出版</publisher>
</book>

書籍名、著者名、出版社名全体が、開始タグ<book>と終了タグ</book>で囲まれていることに注目してください。これは、<title>、<author>、および<publisher>要素が、すべて1つの<book>要素に属することを意味します。

このように情報を構造的に管理すると、コンピュータによる情報処理が効率よく行われます。たとえば、100個の<book>要素が含まれるXMLファイルがあるとします。各<book>要素は、それぞれの本の<title>、<author>、および<publisher>タグを含みます。この場合、特定の<title>要素を検索し、これに対応する<author>要素を返すといった作業も簡単にコンピュータ処理できます。

DTD:Document Type Definitions

では、コンピュータは、各<book>要素がそれぞれ<author>要素を含むことをどのようにして知るのでしょうか。これには、XMLファイルのDTDが使用されます。

DTD(Document Type Definition:文書型定義)は、文書中に含まれる要素型(ラベル)、およびその構造を定義します。先ほどの書籍リストの例では、DTDに次のことを定義すればよいのです。

・ 1つのファイルには最低限1つの<book>タグが含まれる
・ 各<book>要素には、必ず1つの<title>要素、1つまたは複数の<author>要素、および1つの<publisher>要素がこの順番どおりに含まれなければならない

XMLファイル構造は、必ずしもDTDに従う必要はありません。しかし、DTDを使用すれば、文書の内容と構造を標準化できます。文書の内容が標準化されればされるだけ、コンピュータはその内容を処理しやすくなります。

XMLとHTML

World Wide Webの言語として、XMLはいずれHTMLに置き換わると言われています。将来的にはそうなるかもしれません。しかし、XMLを理解できない旧タイプのWebブラウザでWorld Wide Webを閲覧するユーザーも依然として多く、このような状況がただちに実現するということはあり得ません。

しかし、XMLには非常に多くの利点があると見る多くの組織団体は、すでに自分たちの発行する情報をXML形式で保存し始めています。こうした情報は、旧タイプのWebブラウザを使用するユーザーにどのように配信すればいいのでしょうか。

答えは、XMLとHTMLとを自動変換するツールを使用することです。専用のWeb アプリケーションを使用したり、CGIなどで処理する、という方法もあるでしょう。このような処理を行なうことで、さまざまなXMLの要素型をWeb表示用に再定義することができます。たとえばすべての<title>要素は太字、OSAKAフォント、18ptサイズで表示し、すべての<author>要素は標準、明朝、12ptサイズで表示するように定義できます。また、特定の要素型(たとえば<publisher>)だけを表示しないように指定することもできるでしょう。

・また、このような仕組みを一度作っておけば、サイトの管理、更新が劇的に効率化され、Web本来の即時性が向上するでしょう。しかも、これらの情報/コンテンツは検索の容易なXMLフォーマットとして保存されているため、データベース等と連携させることでユーザーは必要な情報を簡単に入手できます。

まとめ:Webにおいて、XMLは内容の意味と構造を定義し、HTMLはその表示形式を規定します。

XMLとその他の配信形式

最も注目すべきは、XMLにはWebを越えた使用方法の可能性があるということです。

すでに、各組織団体は業界標準のDTDを開発および採用することによって、おのおののビジネスの重要な鍵となる膨大な量の情報を簡単に管理・交換できるようにしています。しかし、今後展望されるXMLの将来は、これよりはるかにエキサイティングなものです。

たとえば近い将来、データをXMLフォーマットとして(必要であればデータベースに)保持しておき、そのデータをWeb上およびプリンタに自動出力できるようなシステムが販売されるようになるでしょう。日常のワークフローを統合し、路上のさまざまな障害を取り除いて高速路に変える潜在能力こそ、XMLの真の魅力なのです。

XMLについての詳細はXML, DTD, CSS, リソースを参照してください。

 
avenue.quark