暇人の研究室

金融工学やR言語・統計学について書いてます。

<

【Web技術】XMLとは何なのか?

 

 

 

XMLとは?

 

XMLはデータを構造的に記録して送信するために開発されたフォーマットで、HTMLが見栄えに重きを置いているのに対して、XMLはデータ管理に重きを置いたマークアップ言語です。

 

例えば売り上げデータなどを管理したいなどという場合にXMLを使用すると、情報を一元的に管理できますし、その情報をインターネットやプログラムから利用できるようになります。

 

 

XMLの特徴

 

XMLはテキストファイルですので、何かソフトがなければデータが見えないとか、OSが違うとデータが見えないということがありません。インターネットに公開しておけば、どこからでも参照することが可能です。

 

 

映画「ターミネータ」のレビュー

ターミネータ2

評価 95点
感想 とても良い、歴史残る名作

ターミネータ4

評価 10点
感想 長い、つまらん

 

 

これをHTMLでだとこう記述されています。

 

 <html>

 <h1>ターミネータ2</h1>
<table border="1">
<tbody>
<tr>
<td>評価</td>
<td>95点</td>
</tr>
<tr>
<td>感想</td>
<td>とても良い、歴史残る名作</td>
</tr>
</tbody>
</table>
<h1>ターミネータ4</h1>
<table border="1">
<tbody>
<tr>
<td>評価</td>
<td>10点</td>
</tr>
<tr>
<td>感想</td>
<td>長い、つまらん</td>
</tr>
</tbody>
</table>

</html>

 

一方同じデータをXMLで記述するとこうなります。

 

<?xml version="1.0",excording="UTF-8"?>
<all_movies>

<movie>
<title>ターミネータ2</title>
<point>95点</point>
<review>とても良い、歴史残る名作</review>
</movie>

<movie>
<title>ターミネータ4</title>
<point>10点</point>
<review>長い、つまらん</review>
</movie>

</all_movies>

 

 

最初の <?xml version="1.0",excording="UTF-8"?> はこのドキュメントが、XML形式であることをPCに宣言しています。

 

ここでXMLの特徴としては、タグが自由に設定できて、データに意味を持たせ、構造化できる点です。

 

これはPCから観れば、文書の構造がhtmlよりXMLの方が情報がシンプルなのでわかりやすいものとなります。

 

例えば、映画のタイトルだけ抽出したい場合、タグ<all_movies>の<movie>の<title>を抽出するようにプログラムに命令すれば、"ターミネータ2"・"ターミネータ4"を抽出できるようになります。

 

そしてXMLはデザインを分離していることにより、1つのXMLデータをもとに、XSLを変えるだけでさまざまな表現を行うことができます。

 

また、データが意味と構造をもっていることは、システム間でのデータ交換にとって大きなメリットとなります。

 

仕事でよく使われるExcelのCSV形式のデータだと、データの内容ではなく並び順によって処理するので、もとになるデータ項目に追加・変更・削除など行われると、そのたびに連携する双方でシステムを変更しなければならないので面倒です。

 

ですが、XMLなら必要となるタグを目安にデータを取捨選択し、必要なデータだけを処理することができます

 

 そういった点でデータ管理という面ではXMLの方がcsvやhtmlより優れているのです。

 

上述したようにXMLは人間が目視するためではなく、データを構造的に効率よく記録して送受信するために開発された言語です。

 

なので、XMLは現在でも幅広く使用されているフォーマットであり、スマホアプリでのユーザーとサーバ間の通信されるデータなどにも使われています。

 

ちなみに、ユーザーとアプリのクライアント間で、データを送受信する技術をAPIと言い、XMLはAPIにおいて標準フォーマットの1つになっています。

 

 

まとめ

 

XMLのタグは、データの意味を表し、構造化できる。

htmlとは違い、タグを自由に決めることができる。

XMLにはレイアウト・デザインの機能を分離している。