すっきりわかるXML -構造からプログラミングまで
XMLのブームは終わりました。
既にXMLは広く普及しており、あちらこちらで、時には目に見えない形でも利用されています。もはや、ひとにぎりの技術者のためのものでも、好奇心旺盛なユーザーのためのものでもありません。XMLは、既に、ブームの次の段階に入っているのです。
ところでXMLとはなんでしょう?
- XMLは拡張可能なマークアップ言語です
拡張可能とはどういうことでしょう? そもそもマークアップとは何でしょう?
- XMLは、自由度の高さと、機械処理の容易さ、汎用性の高さが特徴で、とくにインターネットを中心に活用されています
なにがどう自由度が高く、なにがどう処理しやすいのでしょう。なぜ“インターネットを中心に”なのでしょう?
こうしたことが「すっきり」わかって、そして、活用できるようになる。それが本書の狙いです。
まず、XMLとはそもそも何なのか、どのような姿をしているのかを確認しましょう。
『第1章:XMLとは何か』では、“テキストデータとは何か”から始まり、マークアップとは何か、XMLではマークアップをどのように表現するかについて解説しています。そして、XMLの“文書型”および“名前空間”について、それがどのようなもので、そのような意義があるかについて考えます。
XMLは、さまざまな形で拡張して利用できます。たとえば新しい言語の定義、たとえばプロトコルとしての利用、たとえばデータベース、たとえばプログラミング…。
『第2章:XMLアプリケーション』のテーマは、XMLを実際に使うときの1つの形、“XMLアプリケーション”です。
コンピュータを利用する上で基本となるのが、コンピュータを操作(operate)するためのシステム、すなわちOS(Operating System)です。そして、OSという基本ソフトの上で実際に使うのがアプリケーションソフトです。アプリケーション(application)とは、“応用”や“実際に使うこと”といった意味です。
そして、XMLという基本言語を応用して作った言語が“XMLアプリケーション”です。Web用、一般文書用、マルチメディアデータ用…既に様々なXMLアプリケーションが実用化されています。
XMLはインターネットで生まれました。ネットワークにおいて重要なのがデータの交換です。データを交換するには、共通のデータ形式と、交換のためのルール(プロトコル)が必要です。その両方をXMLで実現したのSOAPです。
SOAPは、プログラム同士が連携をとるためのあらたな基盤となりました。そうしてできあがったしくみが“Webサービス”です。
『第3章:XMLとWebサービス』では、Webサービスとは何か、そしてWebサービスのキーであるSOAP・WSDL・UDDIにはどのような役割があるのかを紹介します。
『第4章:XMLとデータベース』は、“データ用のXML”についての章です。もともとは文書(document)を表現するために作られたXMLですが、従来はリレーショナルデータベースなどで管理されていたデータや、リレーショナルデータベースでは管理が難しかったデータも、XMLによって表現できるようになりました。まずはデータベースとは何か、そして、XML拡張データベースとネイティブXMLデータベースについて、それぞれの特徴について解説します。また、データとしてのXMLにアクセスするための新しい言語“XQuery”を紹介しています。
ここまでが“XMLとは何か”です。
この後の章では、具体的にXMLを利用するときに必要となる技術仕様について扱います。それぞれ概要と詳細にわかれているので、どんなものか知りたい場合は、最初のセクションだけ目をとおしてください。実際に使うことになったら、あるいは使ってみたくなったら続きを、できれば手元で試しながら参照してください。サンプルデータおよびソースコードはサポートページからもダウンロードできます。
まず、『第5章:XMLの文法』で、全ての基本となるXML文法を頭に入れてください。この章では、XMLの基本構造と文法、そして名前空間について解説しています。
XMLがわかったら次は文書型定義です。『第6章:DTDとXML Schemaによる文書型定義』では、DTDとXML Schemaという2つのスキーマ言語(文書型を定義する言語)について、基本から文法の詳細まで解説します。まずは概要で、両者の違いと特徴を見て、必要に応じ詳細を参照してください。
それではXMLを表示してみましょう。『第7章:CSSによるXML文書の表示』では、CSSを使ってXMLデータを表示します。CSSは、HTML表示用に設計されたスタイルシート言語ですが、XML文書の表示にも使用できます。
このほか、XMLベースのスタイルシート言語であるXSL(XSL-FO)についても、概要および使用例、処理用ツールなどを紹介しています。
次の2つはプログラミングの章です。XMLのプログラミングというとDOMやSAXがクローズアップされがちですが、XSLTもれっきとしたプログラミング言語です。
XSLTとは、XML文書を変換するための言語で、XMLのツリー構造を変換できるほか、HTMLやタグのないプレーンテキストにも変換できます。つまり、あらゆるテキストデータへの変換が可能です。
『第8章:XSLTによるXML文書の変換』では、XSLTについて基本的な考え方および文法の詳細について解説します。
最終章、『第9章:XMLプログラミング』では、DOMとSAXを使ったXMLプログラミングについて扱います。DOMとSAXの違いについて、および両者の機能について、サンプルソースと共に紹介しています。
XMLは、それだけ見れば単なる“書式”です。しかし、この“書式”は、インターネットの、そしてコンピュータ界の共通語となりうるパワーを持っています。既にそうなりかけてると言っても良いでしょう。ばらばらな言葉で話していた人々が、XMLを使い始めています。
あらゆる場面で使われる基本技術XML。本書が、そんなXML活用の助けとなることを願っています。