【HTMLとの違い】XMLデータベースとは

テクノロジー

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

どちらもWeb制作に必要な言語ですが、両者にはどのような違いがあるのでしょうか。

XMLとは|基礎知識

XMLとは「Extensible Markup Language」の略で、日本語では「拡張可能なマークアップ言語」と訳されます。特定の企業が提供している技術ではなく、インターネット上で使用される各種技術の標準化推進団体である、W3C(World Wide Web Consortium)によるオープンな規格。

マークアップ言語とは、タグと呼ばれる特殊な文字列を使用して、文章の構造やタイトル、文字の修飾情報などを埋め込んでいく言語。

タグとは、<〇〇>と</〇〇>のように、スラッシュ「/」のないタグとスラッシュのあるタグで囲むことで、囲んだ文字列を修飾するものです。スラッシュのついていないタグが命令の始まりを示し、スラッシュのついたタグが命令の終わりを示します。タグで囲んだ範囲が、そのまま影響範囲になります。

タグの中の言葉を変えることで、囲まれた文字列に修飾情報を与えることができます。XMLでは、囲んだ文字列をデータとしてわかりやすく管理する目的でタグを使います。

データの意味がわかりやすい

XMLはデータの管理ややりとりを簡易にするために、広く用いられているマークアップ言語です。なかでも、XMLがわかりやすいといわれる理由は、データの意味に合わせて要素名を自由に定義し、データを明確に目立たせることができるためです。XMLではタグと呼ばれる文字列を使いますが、囲んだ文字列を修飾するタグの<〇〇></〇〇>の「〇〇」の部分を要素名といいます。要素名が異なれば,修飾する文字列の意味も異なります。XMLは、タグに用いる要素名を自由に定義できます。

例えば、文章中に「新しいオフィスの移転先はA区B町1-2-3です」という記述を出したい場合、新住所の部分をXMLでマークアップすると、「新しいオフィスの移転先は<住所> A区B町1-2-3</住所>です」とできます。

新住所を「住所」という要素名でマークアップすることで、オフィスの住所が検索しやすくなります。マークアップは、商品名や品目名、取引先名など任意の種類のデータをわかりやすく設定することが可能です。

拡張性が高い

XMLはアプリケーション間のデータ交換手段としても用いられます。XMLは拡張性が高いのが特徴で、要素名などのデータ構造を自由に定義できるため、データの管理に向いています。

例えば、商品ID、商品名、価格、販売開始日等の要素名をXML文書内で定義し、データにあたる文字列をそれぞれの要素名のタグで挟みます。データの構造をXML文書内に記述するとテキストベースで成立するため、手軽にデータ交換が行え、そのままデータの格納が可能です。

あらゆるコンピュータシステムへ適応可能

汎用性の高さと共有のしやすさもXMLの特徴です。記述方式が世界標準で統一されているため、データをXML化することであらゆるコンピュータシステムに応用ができ、情報共有や情報公開を簡単にしてくれます。統一された汎用的な形式でデータを格納しておけば、インターネットを通じて世界中で再利用することも可能です。

XMLとHTMLの違い

語感もよく似たXMLとHTML。どちらもマークアップ言語のひとつ。

HTMLとは「Hyper Text Markup Language」の略です。Webページを記述するための表示用言語で、XMLと同じく文章中の文字列をタグで挟むことで、Webページに装飾を施すのが目的。簡単にいうと、人間に情報をわかりやすく表示するための言語といえる。

一方のXMLは、データ記述用の言語です。文書中のデータをわかりやすくしたり、データを交換したりできます。マシンに情報をわかりやすく、効率よく伝えるための言語といっても良いだろう。

HTMLを使ってデータを記述し、見た目はきれいに整理されていても、マシン側では文章の意味を理解できません。しかし、XMLを使って文章中のデータの要素名や属性を定義することで、マシン側にデータの重要度(大小関係など)を認識させられる。

役割の違うXMLとHTMLですが、両者を連携させることで効率的なシステム運用を行える。例えば、XMLでデータを格納・管理したあと、HTMLに変換・表示することも可能です。併用することでそれぞれの苦手な点を補い合い、データをさらに便利に扱うことができる。

XMLデータベースとは

XMLデータベースとは、XMLを扱うための機能を持つデータベースである。

狭義ではXMLのツリー構造をそのままデータ構造として持つ物を言うが、実際は伝統的な関係データベースにXMLを格納するものや、単にテキストファイルとしてXMLを格納するものなど様々である。現在ではXPath、XQueryで検索するデータベースをXMLデータベースと呼ぶことが多い。

現在でも広く用いられている関係データベースでは、一度作成されたデータ構造を運用中に変更することが一般的に困難なのに対し、XMLデータベースは非常に拡張性が高い。それはXMLの仕様がスキーマを必須としておらずWell-formed(整形式)の形態を認めているからである。そのため、完全に仕様が決まりきらないで開発を進めたり、途中でデータ構造が変化することを前提としたシステムを比較的容易に構築することができる。

現在の実用上の問題は、関係データベースにおけるSQLのような統一規格がないことであったが、最近XMLDBの検索はXPath、XQueryで行うXML:DB規格が策定され、NeoCoreXMS、TX1を初めとする各社によって採用されはじめている。

また、性能上の問題も普及を妨げていたが、それは大きく改善されつつあり、関係データベースもハードウェアやアルゴリズムの開発によって性能上の問題を克服してきた歴史を持つため、XMLデータベースも同様の発展を遂げることが期待される。

Oracle Database、IBM DB2、Microsoft SQL Server などの関係データベースでもXPath、XQueryで検索する機能を実装しており、XMLデータを格納するデータベース製品の選択肢が増えている。一方で、XMLのデータ量や階層構造の深さやパフォーマンス要件によっては、メーカーからベンチマークテストの結果を入手するなどしてXMLデータベース・関係データベースのいずれを採用するかは慎重に製品を選定する必要がある。

まとめ

文章の見た目や構造を記述するためのマークアップ言語の一種であり、主にデータのやりとりや管理を簡単にする目的で使われ記述形式がわかりやすいという特徴がある。Web3.0となり新しいマークアップ言語ができるかもしれない。

タイトルとURLをコピーしました