XMLとは?XMLの基礎と使い方をわかりやすく解説!
XMLとは
まずXMLとはそもそも何なのでしょうか。
IT社会においては、IT業界で働いていなくてもHTMLと同じようによく耳にする名称です。
今や名前もよく聞くものの、何かのファイルといったイメージかもしれません。
具体的に何かといわれればネット上におけるHTMLみたいなものという印象ではないでしょうか。
そんなXMLについての疑問を解説していきます。
XMLの基礎知識
XMLは英語の略称で、正式名称は「eXtensible Markup Language」です。
和訳すると「拡張できるマークアップ言語」。
とはいえ、そもそもマークアップ言語とは何なのでしょうか。そこが分からないとXMLを理解することは困難です。
まず「マークアップ」というのは、Webページに入力した文章を意味付けすることをいいます。
例を挙げるなら、大見出しと小見出し・本文をコンピュータで分かるようにするということです。
入力する人間には見出しと本文は区別がついていますが、機械にはどれが見出しでどれが本文なのか分かりません。
そこで、見分けをつけられるように印をつけます。
たとえば大見出しは「<h1>」、本文は「<p>」と付けます。
この意味付けができる言語が「マークアップ言語」であり、代表的なのがHTMLです。
その他に今回解説するXMLや、SGML・XHMLもマークアップ言語に数えられます。
中でもXMLはデータを記述するものです。
HTMLとの違い
HTMLもXMLも、文書の見出しや本文といったものをタグと呼ばれるもので記述していきます。
XMLは、簡単にいえばHTMLをさらに使いやすく発展させたものです。HTMLは、文書構成に欠点が多くありました。
その他、HTMLでは記述できなかったようなことがXMLではさまざまなものが記述可能です。
例えば、XMLを使えば動画の内容やCGのモデルなどさまざまなデータがXMLの枠組みを使って記述できるようになります。
XMLの概要
ここで、XMLの概要について解説していきましょう。
XMLは先ほども述べたように、いろいろな文章の意味を定めることができます。
この言語はどんな要素でも、どんなタグでも、そしてどんな目的でも自由に決めることが可能です。
XMLの歴史
XMLは、同じマークアップ言語であるSGMLから派生する形で生まれました。
SGMLは、2つ以上のコンピューターの間で文章の互換を行う言語です。
これを記述するにはタグというものを使います。
一方、XMLにもタグがあります。こちらは入力したデータの内容を自由に設定することが可能です。
ちなみに、XMLにはデザイン性がないという特徴があります。基本的に文字とデータのみです。
そのためXSLなどを使って別にレイアウトを作らなければなりません。
このような一面はありますが、言語を使い分けることでWeb上で様々な表現も可能になります。
タグとは
タグは文書の「各見出し」「本文」の構造に対応していて、その構造や属性はDTDというファイルに入力されます。
XMLやHTMLでは、「<」と「>」は意味を示すタグです。
タグで囲まれる部分は要素と呼ばれていて、一般には<要素名>要素の内容</要素名>となり、<></>の中の要素名は自由に決めることができます。
ただし、要素名にも3つの注意点があります。
- 空白文字は使用できない
- アルファベットの大文字小文字は区別される
- 全角文字は使用可能
ということです。
HTMLではタグの中身は、フォントの大きさや色などの記載です。
一方XMLではタグの内容を自由に決めることができます。また、入力したデータに自分で意味を設定することも可能です。
どちらの言語も開始タグ<〇〇>と終了タグ</〇〇>で表示しますが、HTMLでは終了タグの省略が認められているものもありました。
しかし、XMLでは終了タグは認められていないので必ず表示しなければなりません。
XMLの基礎
XMLの目的
XMLは、インターネット上でさまざまなデータのやりとりをとにかく簡単にするという目的で1998年にW3Cが勧告していました。
加えて仕様が簡単なことから、広く使われています。
例えばインターネット上で顧客の情報をまとめて管理したいということはよく起こるのではないでしょうか。
XMLを使えば、名前や住所の顧客管理情報の整理をインターネット上で簡単に行うことができます。
インターネットが普及した今では本当に簡単にデータのやりとりが行われています。
XMLの基本的な文書の構成
XMLの文書は、以下で構成されています。
- XML宣言
- DTDとXML本体
XML文書の冒頭には、XML宣言と呼ばれるXML規格のバージョンや使用する文字コードなどが記載されています。
DTDとは、XML文書の構造をDTDの文法に直して入力するもの。
ちなみに、XML宣言とDTDは省略可能となっています。
ただし、XML本体には必ず最低1つ以上の要素が存在しなければなりません。
タグと要素・文書の構造
次にタグと要素、XMLの文書の構造を見ていきましょう。
タグと要素
タグと要素は異なるものを指していて、要素はマークアップしたい文字列(要素の内容)をタグで囲んだ情報を表しています。
要するに、<〇〇>要素の内容(文字列)</〇〇>と記述され、これが要素と呼ばれているものです。
そして、<〇〇></〇〇>の部分がタグになります。
文書の構造
XML自体は、要素名・属性・順序・段階の深さなどに制限はありません。
しかしあまりに文書を自由に書かれてしまうと読みにくくなってしまいます。
またプログラムでXMLをHTMLやPDFに変換するときに、内容がバラバラだと処理できません。
そこでDTDと呼ばれるファイルが文章を階層化して要素名を決めてくれる、いわばルールブックのような役割を果たしてくれています。
XMLの特徴とメリット
XMLはインターネット上で企業間の取引ができるように、またその取引が安全かつ効率的にやりとりができるようにルールや仕組みを整備してきました。
そこで、XMLの特徴やメリットを見ていくことにしましょう。
XMLの特徴はタグ
XMLはタグを用いることで、とてもわかりやすくなっています。
タグを使うことで、要素名を自由に定義することも可能になりました。
また拡張性が高く、データの管理などにはとても向いているといわれています。
XMLのメリット
XMLは汎用的な規格のため、どんなデータにも変換しやすいです。
さまざまなシステムで、汎用的に使い回したいデータを作りたい場合にはXMLは最適といえるでしょう。
また、スタイルシートの一種であるXSLを使えば、XMLデータを別の形式のXMLデータに変換も可能です。
例えば、Webブラウザで参照するためのHTMLや、印刷物を作成するためのレイアウト情報を付加したPDFデータなどに変換可能。
とにかく柔軟に対応できるXMLは、今やなくてはならない言語の一つになっています。
XMLの使い方
XMLは実際にどうやって使うのか
XML文書はアプリケーションから操作することが可能です。
けれどもデータがXML文書になっていれば、特定のアプリケーションがなくても、内容や整合性のチェックはXMLパーサを利用することができます。
また、XSLTを利用すればデータを構造に変化することが可能です。
XMLとXSLT
XSLTはXML文書を変換させるためのスクリプト言語仕様といわれています。
XML文書からHTML文書やテキストファイルを生成することができます。
例えば、テキストデータであるXMLデータを、XSLTで作った変換フィルタにXMLデータを通して構造変換したデータを作ることが可能です。
その後にレイアウト情報をプラスします。
そうすると、変換後にはブラウザや各種アプリケーションで表示することができたり、PDFで印刷もすることができます。
XMLのスキーマ言語とは?
XMLのスキーマ言語をわかりやすくいえば、XMLファイルの中身の構造を表現するときに使う書き方ルールのことをいいます。
スキーマ言語というのは一種類ではなく、XMLファイルの中身の構造を示すときの書き方がたくさんあるということ。
いくつかのスキーマ言語の中の一つがXMLスキーマということになります。
XMLのスキーマの要素や属性は?
スキーマというのは、XMLの構造でいつどの要素が出現するのか、そしてその要素にはどのような属性があるのかなど、木構造の定義がスキーマです。
例えば、インターネットショップで商品を購入したとしましょう。
この場合企業側がXML文書内の商品データや顧客データを取得しますが、この時のデータの取得をするプログラムのことをXMLパーサといいます。
XMLパーサは取得したデータをサーバー上のプログラムが受注処理を行うといった流れです。
そこで、XMLでデータ交換を行う場合、まずXMLの構造スキーマを決めます。
双方が合意したスキーマに沿ったXMLを交換することで、商品の発注・受注処理が可能です。
XMLスキーマファイル
XMLスキーマファイルとは、XMLの構造が記述されているファイルを指します。
長年に渡って進化してきたXMLファイルは、今や技術者でなくてもパソコンに詳しい人なら、エクセルで編集することも可能です。
この情報社会では、簡単にXMLのスキーマファイルを作ることを学ぶことも可能になってきました。
XMLの利用分野
では、XMLの利用分野はIT社会の中でどのように生かされているのでしょうか。
XMLの用途
私たちは、コンピューターを利用する上でさまざまなシーンでXMLの技術を利用しています。
何年か前までは、技術者でもない限り、直にXMLのデータを目にしたり編集することはなかったかもしれません。
XMLが運んできた情報は、私たちがコンピューター上で使いやすいように加工されて利用していることが多いです。
直接扱うといったことはほぼなかったものの、先に述べたようにExcelで編集も可能となりました。
少し詳しい人なら、XMLファイルを編集して実際のデータに反映させることもできるようになっています。
IT社会の現在でよく利用されているのはWordやExcelのファイルやPDFなどで、これらもXMLの要素が記述されています。
XMLの普及
XMLはW3Cで最初の標準勧告がなされて以来、今やさまざまなシーンで利用されています。
インターネットの普及に伴って注目を浴びているのが、Webサービスです。
このWebサービスが登場した背景には、やはりインターネット環境の進化とXMLの普及といえるでしょう。
特にXMLによるデータ連携は、システムの違いを気にせずインターネットを介してアプリケーションの連携が行うことができるようになりました。
この20年間のインターネットの成長はすさまじいです。
今や小さな子供からお年寄りまで知らず知らずのうちに、インターネットでXMLを利用しているでしょう。
フォーマット作成
フォーマットとは
フォーマットはコンピューター社会になってからというもの、よく耳にする言葉になりました。
フォーマットの意味は書式や仕様ですが、コンピューターで初期化するときにも使われている言葉です。
XMLフォーマット
XMLは高い再利用性があり、また自由度の高いデータフォーマットといわれています。
また、データフォーマット内に文字コードにする取決めを記述できるフォーマットです。
この取決めに従い処理を行えば、文字コードをプログラム内で個別に指定する必要がなくなりました。
しかし、ビッグデータ処理に向かないフォーマットです。
つまり、XMLは大きなメモリが必要なのでリソースコストの大きい処理が必要となり、処理速度は遅くなってしまいます。
まとめ
XMLとは何か、そしてXMLの基礎と使い方をわかりやすく解説してきました。
またHTMLとの違いや、タグと要素・文書の構造やフォーマット作成についても解説してきました。
ポイントは以下の通りです。
- XMLは拡張可能なマークアップ言語である。
- XMLはレイアウト情報を持たないSGMLから派生した言語である。
- XMLは、インターネット上でさまざまなデータのやりとりをとにかく簡単にするという目的で作られたものである。
- XMLは、データの管理に向いていて、どんなデータにも変換しやすいというメリットがある。
- XMLは利用分野がどんどん広がって、コンピューター社会ではXMLの技術が溢れている。
何にでも変換できるXMLは、今後もIT社会に貢献できるフォーマットの1つであることは間違いないでしょう。
そしてどんどん進化し続けているインターネットの社会は、XMLだけではなく今後もいろいろと便利に利用できるものが生まれてくることでしょう。
toiroフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。
エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。