メインコンテンツまでスキップ

XML(Extensible Markup Language)

Overview

XML(拡張可能マークアップ言語)は、データの構造化、保存、転送を目的とした柔軟なテキスト形式の言語

定義:XMLはHTMLに似たマークアップ言語で、人間にも機械にも読みやすい形式です。
目的:XMLの主な目的は、異なる情報システム間で構造化データを交換することです。とくにインターネット経由でのデータ共有に利用される。
自己記述型:XMLはタグを用いてオブジェクトとその内部データを定義します。このため、データ自体が自己記述的になります。
プラットフォーム非依存:XMLは特定のOSやアプリケーションに依存しないため、データ交換において非常に柔軟です。
階層構造:データは階層的に構造化され、複雑なデータ構造を表現するのが容易です。

CDATAセクション

XMLはマークアップ言語であるため、XML文書を記述する際には、マークアップ用として指定された記号を直接文字として記述できない。
これを記述してもマークアップの指定と解釈され、文字として解釈されない。 しかし場合によっては、この方法はXML文書の記述や管理を煩雑にする場合がある。 このような場合に、マークアップ専用の記号であって、通常の文字として扱う特例的な部分をつくることができる。これを、CDATAセクションという。

CDATAセクションは <![CDATA[という文字列で始まり、]]> という文字列で終わる。CDATAセクションの内部には、XMLで利用可能な文字をすべて記述できる。唯一の例外は]]>という文字列だけで、これを記述することはできない。記述しても、CDATAセクションの終了を示すと解釈されてしまう。

XMLとは

参考URL HTMLと同じようにタグをつかってさまざまなデータを表すことができる仕組み さまざまなデータとは、本当になんでも良い。 XMLによってつくられたデータは、さまざまなことに利用される。例 えば、プログラムがデータを保存するのに使ったりされます。ただ、最近はデータフォーマットとしてはより軽量なJSONに役目を奪われている感があります。

<?xml version="1.0" ?>
<users>
<ユーザー>
<名前>Aさん</名前>
<年齢>23</年齢>
</ユーザー>
<ユーザー>
<名前>Bさん</名前>
<年齢>100</年齢>
</ユーザー>
</users>

まず一見して違和感を覚えるのは、タグ名が日本語であるものがあるということですね。前述のようにXMLではタグ名も自由に決めることができるので、このように日本語も可能です。とはいっても、やはり普通に半角英数字で書くということのほうが多いと思います。そのほうが国際的ですしね。

最初の行の <?xml version="1.0" ?> は、XMLでは書くことになっているもので、この文書がXMLであることを表すものです。XML文書には、これが必要です。

次に、この文書全体は <users> 〜 </users> で囲われています。このように、文書全体を囲う要素をルート要素などといいます。
HTMLでもルート要素はありましたね。全体が <html> 〜 </html> で囲まれているから、html要素がルート要素だといえる。

XMLルール

必ず終了タグが必要 また特別仕様のタグは名前空間を定義しないといけない(どこかで調べられる)

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:snf="http://www.smartnews.be/snf">

<snf:analytics>
</snf:analytics>

XML特別仕様

参考URL

XMLの、HTMLにはない特徴として、名前空間というものがあります。今回、それについて解説します。

<?xml version="1.0" ?>
<aaa:abc xmlns:aaa="http://example.com/aaa">
<aaa:abcd a="aaaaaaaa" />
<aaa:abcd a="bbbbbbbb" />
<aaa:abcd a="cccccccc" />
</aaa:abc>

<aaa:> これが名前空間の部分。

XHTML

HTMLはXMLとは似ていても少し違うものだったが、そこでHTMLをXML文書の一種として書けるようにしたものを作成した。 それがXHTML。そのためXHTMLはXMLとしても通用するということになる。 ただし、XHTMLは一時期鳴り物入りで登場したものの、あまり普及しませんでした。代わりにHTML5が台頭したため、XHTMLは廃れてしまいました。なのでXHTMLの説明をしても仕方ないかもしれませんが、書いてしまったのでここで紹介しておきます。