XMLって何?

もう11月ですね!

知り合いから「今、山の紅葉がすごくきれいだよ!」と連絡があったのが1ヶ月半も前だったらてみっちです。
私の住む北海道はどこか季節感がずれているようです。

~~~~~~~~~~~~~~~~~~~~~~~

以前にこんな記事を掲載しました
Androidアプリは気軽に作れる?

この記事は、
「Androidアプリ開発の雰囲気が伝わればいいな!」
「概要だけ作って詳しく知りたい人は各自で検索してもらおう」
くらいの読み物として掲載した記事なのですが、先日この記事のことで、
「XMLってレイアウトのためだけの形式じゃないよね?」
という指摘をもらってしまいました。見る人が見るとやはり気になるようです。

なので今回は、世の中のあちこちで実は使われているらしい「XML」について大まかに調べてみました!
そんな…使ってるのに詳しく知らなかったとかまさかね…!(

(今回の記事にも、個人的な意訳や見解・感想が含まれています

 

XMLかぁ…。なんとなーく使ってたな。

XML形式って確かExcelとかの表計算ソフトの保存形式にもあったような?
ただ、中身がどんな風に保存されてるかまでは詳しく気にしたことが無かった。

ということで、まずはWikipedia先生に頼ります!
————————————————-
Extensible Markup Language(エクステンシブル マークアップ ランゲージ)は、個別の目的に応じたマークアップ言語作成のため、汎用的に使うことができる仕様、および仕様により策定される言語の名称である。一般的にXML(エックスエムエル)と略称で呼ばれる。(以下略)
————————————————-
※「ウィキペディア (Wikipedia): フリー百科事典 ”Extensible Markup Language”」より引用

えーっと…。(困惑)
XMLはデータの集合体をテキスト形式で保存するために使われるみたいですが、まずは「マークアップ言語」ってやつを理解する必要がありそうですね。

マークアップ言語(Markup Language)とは、コンピュータ言語の1つで、文字列以外の情報をテキストファイルととして記録することができる言語形式だそうですよ。
例えば、文章の中身本体以外にも「字体」とか「文字の大きさ」も同時に保存できるみたいです。
文章に対する指定(ここで言う「字体」など)を「マークアップ」と呼び、マークアップを記述するための文字列を「タグ」と呼ぶようです。

ちなみにこんな感じみたいです。
blog_mich006

簡単に言うと「タグ付き文章」ということです。
全て文字といえば文字ですが、タグが付いている分見やすくしたり整理しやすくできてしまいます。
また、一定の文法に従っているので、コンピュータでも解読できます。
なるほど、これなら頑張れば自力で読み書きできますし、専用のソフトが無くてもテキストエディタで直接編集できるってわけですね!

そしてこの形式、Webページを記述するHTMLがまさにマークアップ言語です。これなら私も少し見たことがあるかも。
blog_mich007

HTML(HyperText Markup Langage)はブラウザで閲覧するページの構造など様々な情報をタグで指定(マークアップ)できます。
この例では、全体(htmlタグ)の中にタイトル(headerタグ)と中身本体(bodyタグ)が入っていて、その中にさらに細かくタグが入っていって…という構造をタグで記述しています。

blog_mich008

こんな風にタグの情報も含めて読み込んでくれるソフトを使ってページを表示するわけです。
もちろん、一定の文法に従ってタグを書いているので、どのブラウザでも(若干は違えど)同じように読み込んでページを表示できるみたいですよ。なるほど。

 

遠回りをしてしまいましたが、ここから本題に戻ります!
XMLは拡張可能な(Extensible)マークアップ言語で、極端なことを言うとタグを自分で指定できます。へぇー。
自分でタグの名称と使い方を定めてしまって良いので汎用性が高く、データを保存・やりとりするのに幅広く使われているそうです。
データ構造の変更にも対応しやすいので、データベースにも使われるみたいです。
そしてやはり一定の文法に従っているので、かなり頑張れば人力でも読み解けるとか(仕様書必須)

書き方の一例として、この前の記事で使ったAndroidアプリのレイアウトファイルの一部を紹介しますね。
blog_mich009
この例ではButtonタグ内に何やら色々と書かれてますが、ボタン一つに対してこのようにタグで配置や装飾などあらゆる事項を書いてXMLで管理しています。

ちなみに、Androidアプリ内ではレイアウトファイルだけではなく一部の設定ファイルもxmlで管理されています。何にでも使えそうな気がしてきますね!
汎用性が高いゆえに「XML形式」というだけでは、何のファイルか全く分からないです。前にネット上からお天気情報を取得してみたらXML形式だった!ということもありました(経験談)

XMLは世界で広く使われているので、XML形式でいろんな情報や先人の知恵が手に入ったりします。
個人の趣味でもプログラミングをするなら、これはぜひ使いこなせるようになりたい!!

 

~~~~~~~~~~~~~~~~~~~~~~

以上、XMLについてでした。長文お付き合いありがとうございます。
調べてみて、私自身もかなり勉強になりました。
中身は相変わらずざっくりですが、読み物程度になれば!

詳細を知りたい場合は、「XMLとは」などのワードで検索すると参考になるページが出てきます。
「もっと知りたい」「正確に知りたい」という方は別途検索してみてください!(丸投げ)

ちなみにデータをやり取りする形式として最近使われているものに「JSON」という形式もあって、最近ではそちらが良く使われるようです。合わせて検索してみるといいかもしれません?

まだまだ分からない部分も多いですが、これからも少しずつ知識やスキルを身に着けていきたいですね!(*´∀`)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA