【基礎から学ぶプログラミング言語】 マークアップ言語と種類について ~表現手法の基本とHTML・XML・XAML・SGMLの違い~

IT
スポンサーリンク
スポンサーリンク
スポンサーリンク

私たちは日常生活で何気なくパソコンやスマートフォンというコンピュータを使用しています。
これらのコンピュータが普通に動作しているのは、そのようにプログラミング言語が記述されているからです。
本記事は、そんなプログラミング言語について実際に学びながら要点をまとめていったメモという位置付けになります。
私は専攻が電気でプログラムに関しては全くの初心者ですので、同様に初心者の方には理解しやすくなっているかと思います。

今回は、「マークアップ言語とその種類」についての説明です。

1.初めに

プログラミング言語(コンピュータを動かすために考えられた人間が理解・記述可能な人工的な言語)の一種に、マークアップ言語というものがあります。
HTMLとかどこかできいたことがありませんか?
アレがマークアップ言語の種類の一つです。

今回は、マークアップ言語とは何なのか、どんな種類があるのかを解説していこうと思います。

2.マークアップ言語とは?

マークアップ言語とは、文字列に意味を持たせて文章の構造を指定する手法のことです。
英語で[markup language]と書きます。
[mark up]には、[文章構造や表示の仕方を示すコードを付加する]という意味があるので、英語の綴りから[文章構造を指定するための言語]と解釈することも可能です。

どこかしらのWebサイトのWebページを表示すると、大体はタイトル・見出し・本文という具合に文章が構成されていますよね?
ただの文字列にこういった差異をもたらす手法がマークアップ言語です
「このように記述すれば見出しができる」とか「このように記述すれば本文と見なされる」とか「このように記述すれば画像を埋め込める」と言ったWebページの書き方の根本的なルールがマークアップ言語なのです。

マークアップ言語は様々な種類がありますが、HTML・XML・XAML・SGMLなんかが有名です。
詳細は次項で触れます。

マークアップ言語の大まかなルールは、「タグで挟んだ文字列が意味を持つ」です。
タグ[tag]には[付箋・荷札]という意味がありますので、特定のタグ(付箋→目印)を付けると、そこの文字列が特殊な意味を持つのです。

マークアップ言語とタグの説明を合わせて行いますね。

例えば、試作品の一次評価結果の項目として以下のようなものがあったとします。

・温度試験結果、ノイズ試験結果、総評

これらの項目を、以下のように表示したいとします。

・タイトル:試作品一次評価結果
・見出し:温度試験結果、ノイズ試験結果、総評

そのためにあるマークアップ言語を使用したところ、以下のようになりました。

<タイトル>試作品一次評価結果</タイトル>
<見出し>温度試験結果</見出し>

<本文>規格を満たす為、問題無し。</本文>
<見出し>ノイズ試験結果</見出し>
<本文>規格を満たす為、問題無し。</本文>
<見出し>総評</見出し>
<本文>全て規格を満足するので、問題無し。</本文>

このマークアップ言語の場合、<>と</>の間に挟まれた文字列が<>内に書かれた書式に変化するというルールに決めています
この時の<>と</>という特殊な文字列がタグに当たります

マークアップ言語とタグの関係はこんな感じです。
このタグの使い方でHTML・XML・XAML・SGMLなどの種類が分かれるのです。

3.マークアップ言語の主要な種類(HTML・XML・XAML・SGML)

先程述べましたが、マークアップ言語の主要な種類として、HTML・XML・XAML・SGMLなどが存在します。
それぞれどのようなマークアップ言語なのかを簡単に説明していきますね。

HTML

HTMLとは、[HyperText Markup Language]の略語です。

例えば、まずは見出しを作りたかったとします。
目立つように大きな大きな見出しです。
その場合、HTMLなら以下のように記述します。

<h1>“大見出し”</h1>
※ “大見出し”の部分には見出しとして表示したい言葉を好きに入力する。

この<h1></h1>という文字列がHTMLにおけるタグで、<h1></h1>というタグは大見出しを表しています

HTMLというマークアップ言語の場合、決められたタグの間に挟むように文字列を書き込むと、タグの内容に沿った処理を挟まれた文字列に対して行います
基本はこれだけです。
仮にタグが<p></p>だったとすると、間に挟んだ文字列は本文になる…という具合にルールで決められています。
その為、ルールさえ覚えてしまえばHTMLでどんなことを表現しようとしているのかは比較的簡単に理解できるようになります。

ちなみに、ハイパーテキストという名前が付いているだけあって、ハイパーリンクの機能も内包しています。

XML

XMLとは、[Extensible Markup Language]の略語です。
直訳すると[拡張可能なマークアップ言語]になります。

XMLとHTMLはルールが似ています。
どちらもタグを利用するのですが、HTMLはあらかじめ決められているタグを使用しますが、XMLの場合は自分で『このタグならこんな処理をする』という具合にカスタマイズしたタグを使用することができます
だからXMLは“拡張可能な”マークアップ言語なわけです。

HTMLはWebページ専用、XMLはWebページ以外にも様々な文章(データ)を記述するために使用されるという点も異なるので、似ているけど混同しないように注意しましょう。

まとめると、様々な文章(データ)を記述することができて、ルールも自分でカスタマイズできる拡張性の高いマークアップ言語がXMLだということです。

ちなみに、HTMLやXMLはインターネット上で使用される各種技術の標準化推進団体であるW3C[World Wide Web Consortium]で策定されているマークアップ言語の一つです。
世界共通のオープンな規格となっています。

XAML

XAMLとは、[Extensible Application Markup Language]の略語です。

前述のXMLに[Application]がくっついています

XMLは、様々な文章(データ)を記述することができて、ルールも自分でカスタマイズできる拡張性の高いマークアップ言語のことでした。
そんなXMLをベースとしてアプリケーションユーザーインターフェースを記述するために開発したマークアップ言語がXAMLです。
簡単に言えば、「アプリケーションの外観はこんな感じにする」とか「操作ボタンをここに設置する」と言ったアプリケーションの表示や操作に関わる内容を記述するためのマークアップ言語がXAMLです。

ちなみに、XMLは普通にエックスエムエルと読むのですが、XAMLはザムルと読むらしいです。

SGML

SGMLとは、[Standard Generalized Markup Language]の略語です。
直訳すると[標準な一般化マークアップ言語]になります。

前述のHTMLやXMLなどのマークアップ言語の原型となったものがSGMLです。
SGMLの記述様式が複雑だったので、もっと使いやすくするためにHTMLやXMLが開発されました。

以上、「マークアップ言語とその種類」についての説明でした。