すっきりわかるXML -構造からプログラミングまで

はじめに

XMLのブームは終わりました。

既にXMLは広く普及しており、あちらこちらで、時には目に見えない形でも利用されています。もはや、ひとにぎりの技術者のためのものでも、好奇心旺盛なユーザーのためのものでもありません。XMLは、既に、ブームの次の段階に入っているのです。

ところでXMLとはなんでしょう?

- XMLは拡張可能なマークアップ言語です

拡張可能とはどういうことでしょう? そもそもマークアップとは何でしょう?

- XMLは、自由度の高さと、機械処理の容易さ、汎用性の高さが特徴で、とくにインターネットを中心に活用されています

なにがどう自由度が高く、なにがどう処理しやすいのでしょう。なぜ“インターネットを中心に”なのでしょう?

こうしたことが「すっきり」わかって、そして、活用できるようになる。それが本書の狙いです。

XMLとは何か(第1章〜第4章)

まず、XMLとはそもそも何なのか、どのような姿をしているのかを確認しましょう。

第1章:XMLとは何か

『第1章:XMLとは何か』では、“テキストデータとは何か”から始まり、マークアップとは何か、XMLではマークアップをどのように表現するかについて解説しています。そして、XMLの“文書型”および“名前空間”について、それがどのようなもので、そのような意義があるかについて考えます。

第2章:XMLアプリケーション

XMLは、さまざまな形で拡張して利用できます。たとえば新しい言語の定義、たとえばプロトコルとしての利用、たとえばデータベース、たとえばプログラミング…。

『第2章:XMLアプリケーション』のテーマは、XMLを実際に使うときの1つの形、“XMLアプリケーション”です。

コンピュータを利用する上で基本となるのが、コンピュータを操作(operate)するためのシステム、すなわちOS(Operating System)です。そして、OSという基本ソフトの上で実際に使うのがアプリケーションソフトです。アプリケーション(application)とは、“応用”や“実際に使うこと”といった意味です。

そして、XMLという基本言語を応用して作った言語が“XMLアプリケーション”です。Web用、一般文書用、マルチメディアデータ用…既に様々なXMLアプリケーションが実用化されています。

第3章:XMLとWebサービス

XMLはインターネットで生まれました。ネットワークにおいて重要なのがデータの交換です。データを交換するには、共通のデータ形式と、交換のためのルール(プロトコル)が必要です。その両方をXMLで実現したのSOAPです。

SOAPは、プログラム同士が連携をとるためのあらたな基盤となりました。そうしてできあがったしくみが“Webサービス”です。

『第3章:XMLとWebサービス』では、Webサービスとは何か、そしてWebサービスのキーであるSOAP・WSDL・UDDIにはどのような役割があるのかを紹介します。

第4章:XMLとデータベース

『第4章:XMLとデータベース』は、“データ用のXML”についての章です。もともとは文書(document)を表現するために作られたXMLですが、従来はリレーショナルデータベースなどで管理されていたデータや、リレーショナルデータベースでは管理が難しかったデータも、XMLによって表現できるようになりました。まずはデータベースとは何か、そして、XML拡張データベースとネイティブXMLデータベースについて、それぞれの特徴について解説します。また、データとしてのXMLにアクセスするための新しい言語“XQuery”を紹介しています。

ここまでが“XMLとは何か”です。

技術仕様(第5章〜第7章)

この後の章では、具体的にXMLを利用するときに必要となる技術仕様について扱います。それぞれ概要と詳細にわかれているので、どんなものか知りたい場合は、最初のセクションだけ目をとおしてください。実際に使うことになったら、あるいは使ってみたくなったら続きを、できれば手元で試しながら参照してください。サンプルデータおよびソースコードはサポートページからもダウンロードできます。

第5章:XMLの文法

まず、『第5章:XMLの文法』で、全ての基本となるXML文法を頭に入れてください。この章では、XMLの基本構造と文法、そして名前空間について解説しています。

第6章:DTDとXML Schemaによる文書型定義

XMLがわかったら次は文書型定義です。『第6章:DTDとXML Schemaによる文書型定義』では、DTDとXML Schemaという2つのスキーマ言語(文書型を定義する言語)について、基本から文法の詳細まで解説します。まずは概要で、両者の違いと特徴を見て、必要に応じ詳細を参照してください。

第7章:CSSによるXML文書の表示

それではXMLを表示してみましょう。『第7章:CSSによるXML文書の表示』では、CSSを使ってXMLデータを表示します。CSSは、HTML表示用に設計されたスタイルシート言語ですが、XML文書の表示にも使用できます。

このほか、XMLベースのスタイルシート言語であるXSL(XSL-FO)についても、概要および使用例、処理用ツールなどを紹介しています。

プログラミング(第8章〜第9章)

次の2つはプログラミングの章です。XMLのプログラミングというとDOMやSAXがクローズアップされがちですが、XSLTもれっきとしたプログラミング言語です。

第8章:XSLTによるXML文書の変換

XSLTとは、XML文書を変換するための言語で、XMLのツリー構造を変換できるほか、HTMLやタグのないプレーンテキストにも変換できます。つまり、あらゆるテキストデータへの変換が可能です。

『第8章:XSLTによるXML文書の変換』では、XSLTについて基本的な考え方および文法の詳細について解説します。

第9章:XMLプログラミング

最終章、『第9章:XMLプログラミング』では、DOMとSAXを使ったXMLプログラミングについて扱います。DOMとSAXの違いについて、および両者の機能について、サンプルソースと共に紹介しています。

XMLは、それだけ見れば単なる“書式”です。しかし、この“書式”は、インターネットの、そしてコンピュータ界の共通語となりうるパワーを持っています。既にそうなりかけてると言っても良いでしょう。ばらばらな言葉で話していた人々が、XMLを使い始めています。

あらゆる場面で使われる基本技術XML。本書が、そんなXML活用の助けとなることを願っています。