XMLとは
XMLはいろいろなところで使用されているマークアップ言語です。たとえばWebサイトのサイトマップというものにXMLが使用されていることは有名でしょう。このようにXMLは身近な存在ですが、XMLが何かと問われるといまいちよくわからない人が多いかと思います。ではXMLとは何か、同じマークアップ言語であるHTMLとは何が違うのか、解説します。
XMLの概要
XMLはExtensible Markup Language の略です。XMLはデータ構造を定義するための言語で、目的としてはシステム間のデータのやり取りを簡易化することです。XMLでデータ構造を定義しておけばそれがシステム間の共通の約束事になり、簡単な記述でデータの受け渡しなどが可能になるということです。
XMLとHTMLの違い
XMLはデータ構造を定義して、システム間のデータのやり取りなどをスムーズにするマークアップ言語ということでした。HTMLも同じマークアップ言語ですが、XMLとは目的がまったく異なります。HTMLはHyper Text Markup Languageの略で、テキストなどを表示することが目的です。
つまりHTMLは最終的に人間の目で見てわかりやすいように表示するようコンピューターに指示する言語ということになります。XMLはシステム間でのやり取り、HTMLはシステムと人間の間でのやり取り、と分類することもできるでしょう。
タグで囲むなど記述方法はXMLもHTMLも似ていますが、目的がまったく異なるということです。
XMLの特長
XMLが広く使用されているのは、いくつかの特長があるからです。既存のXMLを踏襲してなんとなく記述されることも多い言語ですが、XMLの特長について知っておくことでより効率的なXMLを記述できるようになる可能性があるでしょう。あまり目立たない存在ですが、プログラミングをやるならぜひXMLについて知っておいてください。
データを自由に定義でき、わかりやすい
XMLはデータを自由に定義でき、また仮にXMLを知らない人が見たとしても感覚的になんとなく意味はわかるはずです。特にHTMLの経験がある人は、概ねHTMLと同じような記述方法と考えて差し支えないでしょう。HTMLの場合はタグの種類が決まっていてルールに従う必要がありますが、XMLの場合はタグで囲む中身だけでなく、タグ自体も自由に設定して使えるようにするイメージです。
拡張性が高く、データ管理に向く
XMLはデータを自由に定義でき、またそのデータをいろいろなプログラムで使用できます。異なるプログラミング言語で共通のXMLデータを呼び出して使用することもできるので、XMLでデータ管理しておくと便利でしょう。実際XMLでデータの管理をしているプロジェクトは多いはずです。
汎用性が高く、あらゆるシステムで利用できる
XMLは自由度、拡張性が高いということでしたが、基本的な記述ルールは世界共通、プロジェクト共通です。たとえばまったく異なるプロジェクトのXMLを持ってきて、そのまま使用することも一応可能です。実際はプロジェクトごとにデータ定義のルールが異なることやセキュリティ上の観点からそのまま使いまわすことはないはずですが、システム上はそれが可能なくらいにXMLは汎用性が高いということです。
XMLの用途
ここまでの流れでXMLがどのようなことに使えるのか大まかなイメージがつかめたはずですが、より具体的なシーンでXMLの用途を紹介します。XMLでデータ構造を定義した結果、定義されたデータ構造を何に使えるのかということです。システム間でデータ構造を共有するだけでなく、他の使い方もできます。
Webアプリケーションのデータ構造
XMLでWebアプリケーションのデータ構造を定義し、必要に応じて自由に取り出して表示することができます。上でも挙げた通り、Webアプリケーション以外のシステムとXMLを共有し、それぞれ必要なデータを取り出すことも可能です。
最近はたとえばECサイトなどでユーザーの属性や購入履歴にもとづいておすすめを表示する機能が一般化しています。XMLでデータを定義、整理しておけばユーザーごとに表示する商品を変化させるようなプログラムも記述を簡易化することが可能です。
システム間のデータ転送
上述してきた通り、XMLはシステム間のデータ転送に大きな強みを持ちます。システムの種類や言語が違ってもXMLは共通で使用できるため、XMLで定義されたデータを両方のシステムで使用できるからです。データを渡す方のシステムではデータをXML形式に変換し、データを受け取る方のシステムではXML形式のデータを対象システムの形式に変換して扱うということです。
ドキュメントのフォーマット
XMLから任意の形にフォーマットされたドキュメントを生成することが可能です。XMLの状態でもデータは整理されて見やすい状態にできますが、たとえば人間が直接データを確認する際にはXMLの状態だと不便な場合もあるでしょう。そこで、他のシステムからXMLを読み込んで、リスト化したりカテゴライズしたりする使い方もできます。
XMLの使い方
XMLの使い方は、データの受け渡し、ドキュメントのフォーマット、Webアプリケーションのデータ構造定義などが可能ということでした。しかし、XMLを使用するためには当然最初にXMLを作成する必要があります。既存のXMLに書き足してなんとなくXMLを作成している人も、XMLの作成ルールを知っておくとゼロから作成する際に便利かもしれません。
XMLの作成方法
XMLの作成方法を把握するためには、XMLの基本構成、文法・ルールなどを把握しておく必要があります。またすでに把握している人が多いかもしれませんが、XMLファイルの作成方法についても解説します。
構成
XMLの構成の分類方法は複数ありますが、たとえば以下のような分類ができます。
-
・XMLドキュメント
・XML宣言
・XML要素
まずXMLドキュメントとは、XMLファイルの開始と終了を表すための
〈?xml version="1.0" encoding="UTF-8"?〉
XML要素はテキスト、属性などの情報のことです。 たとえば
文法、ルール
まずXMLでは、上でも触れた通り以下のようなXML宣言が必要です。
〈?xml version="1.0" encoding="UTF-8"?〉
次にXMLの定義、つまり記述のルールのようなものを宣言します。具体的には以下のようになります。
〈!DOCTYPE chapter SYSTEM “document.dtd”〉
宣言を記述したら、以下のようにデータの中身を記述していきます。
〈petShop〉AnimalShop〈/petShop〉
〈name〉pochi〈/name〉
〈age〉4〈/age〉
〈gender〉male〈/gender〉
上記のようにデータを定義していきます。ペットショップの名前、犬の名前、犬の年齢、犬の性別などのデータを定義しています。HTMLの経験がある人は、タグの中身ごと自由に定義できるマークアップ言語のように考えるとわかりやすいでしょう。
作成の仕方
XMLファイルはテキストエディタなどでも簡単に作成できます。テキストエディタにXMLを記述し、拡張子を.XMLにすればXMLファイルの完成です。HTMLを作成したことのある人なら、同じような方法で作成できると考えるとわかりやすいでしょう。プロジェクトなどで他のプログラミング言語のためのエディタを使用している場合、同じエディタでXMLを記載してファイル作成する場合も多いはずです。
XMLファイルを使う際の注意点
XMLファイルを使う際にはいくつか注意点がありますが、ここでは代表的な注意点を挙げます。XMLを使い始めて最初のうちは特に気にならないような注意点ですが、今後大規模なシステム開発に携わる機会があれば、意識する必要のある注意点です。そのため、一応最初からXMLファイルを使う際の注意点については把握しておいた方が良いでしょう。
多くのリソースを必要とする
XMLの記述は人間にとってはわかりやすいものですが、コンピューターにとってはデータを変換して処理する必要があります。具体的にはコンピューターは2進数といって0と1しか処理できません。つまりXMLファイルを経由するたびにコンピューターはXMLファイルに記述されているデータを2進数に変換して処理しているということです。XMLファイルのデータ量が多くなったり、プログラムの処理上XMLファイルを何度も経由するようになっていると多くのリソースを必要とします。
大量データを扱うには不向き
データ量が増えるとコンピューターの負荷が増えるということでしたが、人間にとっても扱いにくくなります。XMLはデータをタグでべた書きしているものなので、量が多いと目当てのデータが見つかりにくく、全体像を把握しにくいといったことになります。
XMLに関するよくある質問
XMLに関するよくある質問と回答を紹介します。XMLは多くのプロジェクトで使用されているものの、スポットライトが当たることの少ない言語です。そのため、なんとなくの理解でXMLを使用している人も多いでしょう。それでも特に問題はありませんが、一度XMLについてある程度掘り下げて把握しておけば自分でゼロから作成する際に疑問が生じにくいはずです。
Q1. XMLとはなんですか?
XMLはExtensible Markup Language の略です。XMLはデータ構造を定義するための言語で、目的としてはシステム間のデータのやり取りを簡易化することです。XMLでデータ構造を定義しておけばそれがシステム間の共通の約束事になり、簡単な記述でデータの受け渡しなどが可能になるということです。
Q2. XMLファイルはどうやって開きますか?
XMLファイルの開き方は複数あります。具体的には、ブラウザ、テキストエディタ、XMLビューアー、Excelなどで開くことが可能です。HTMLの場合は開くと言ってもコードを開く場合と、記述した処理の結果を表示するという意味合いがあります。しかしXMLはあくまでもデータの集まりなので、上記のいずれの方法でもXMLのコードが開かれるということです。
Q3. XMLは何に使われますか?
XMLは幅広い用途に使用できます。たとえば、Webアプリケーションからのデータ閲覧、システム間のデータ転送、ドキュメントのフォーマットなどが挙げられるでしょう。XMLでデータを定義しておけば複数のシステムでデータを使いまわせるので利便性が高いです。使いまわしやすいように、プロジェクトごとにXMLの記述方法はルール化されていることが多いでしょう。
まとめ
XMLはExtensible Markup Language の略で、データ構造を定義するための言語です。XMLはHTMLの記述が似ていますが、目的はまったく異なります。HTMLがテキストなどを人間がわかりやすいように表示する目的を持つのに対し、XMLはシステムが使用する目的でデータ構造を定義しています。
XMLはデータを自由に定義でき、汎用性も高いです。複数のシステムで共有できるので便利な言語になります。しかしデータの量が多くなると全体像の把握がしにくくなり、また何度もXMLを経由するようなプログラムを書くとコンピューターの処理上の負担が大きくなります。
XMLにできること、メリット、デメリットなどを把握したうえでXMLの使い方を考えることが重要です。プロジェクト内で使用されているXMLファイルをそのまま踏襲するケースも多いはずですが、自分でもゼロから効率的なXMLファイルを作れる知識は持っておくのがおすすめです。
ITエンジニアの転職ならレバテックキャリア
レバテックキャリアはIT・Web業界のエンジニア職を専門とする転職エージェントです。最新の技術情報や業界動向に精通しており、現状は転職のご意思がない場合でも、ご相談いただければ客観的な市場価値や市場動向をお伝えし、あなたの「選択肢」を広げるお手伝いをいたします。
「将来に向けた漠然とした不安がある」「特定のエンジニア職に興味がある」など、ご自身のキャリアに何らかの悩みを抱えている方は、ぜひ無料のオンライン個別相談会にお申し込みください。業界知識が豊富なキャリアアドバイザーが、一対一でさまざまなご質問に対応させていただきます。
「個別相談会」に申し込む
転職支援サービスに申し込む
※転職活動を強制することはございません。
レバテックキャリアのサービスについて