その他の言語|HTML・XML・タグ・SGML・JSON の特徴と書き方【ITパスポート】

ITパスポート試験

ITパスポート 現行の範囲 テクノロジ系g39 その他の言語最終更新 2026-10-20

データ記述言語は、計算の手順ではなく、データそのものの意味や構造をコンピュータに伝えるための書き方で、代表がタグを使うマークアップ言語と、プログラムどうしのやり取りに使う JSON です。

マークアップ言語とタグ

マークアップ言語は、文書やデータの各部分にタグという印を付けて、「ここは見出し」「ここは品名」のように、その部分が何かを表す言語です。 タグは、内容を開始タグと終了タグではさむ形で書きます。終了タグは、名前の前に「/」を付けます。

タグで印を付ける。「駅前カフェ」という内容を、「見出し」の開始タグと終了タグではさむ。終了タグは名前の前に「/」が付く。印を付けると、コンピュータがここは見出しだと分かる。

内容を開始タグと終了タグではさみ、「ここは何か」をコンピュータに伝えます。

<見出し>駅前カフェ</見出し>
開始タグ + 内容 + 終了タグ

マークアップ言語は、内容を開始タグと終了タグではさんで、その部分が何かを示します。 人が読む文章に印を付けるだけなので、ふつうの文字(テキスト)として書けて、メモ帳のようなソフトでも読み書きできます。

SGML(Standard Generalized Markup Language)は、文書の構造をタグで書くための汎用の規格で、国際規格(ISO)と日本産業規格(JIS)になっています。 このあと扱う HTML と XML は、どちらも SGML をもとに作られました。

HTML ── Web ページを書く

HTML(Hyper Text Markup Language)は、Web ページを書くためのマークアップ言語です。 見出し、段落、画像、ほかのページへのリンクといった部分ごとに、決められたタグを付けて書きます。 Web ブラウザは HTML を読み取り、見出しは大きく、リンクは押せる形にして画面に表示します。

<h1>駅前カフェ</h1>
<p>営業時間は9時から18時です。</p>
<a href="menu.html">メニューを見る</a>

1行目の h1 は見出し、2行目の p は段落、3行目の a はリンクのタグです。 a のタグの href="menu.html" は、リンクを押したときに移る先を指定しています。 このように、文書の中から別の文書へ移れる仕組み(ハイパーリンク)を持つ文書がハイパーテキストで、HTML の名前の由来です。

HTML と Web ブラウザ。左=HTML の文書(見出し・段落・リンクのタグ)。右=Web ブラウザの表示で、見出しが大きく、リンクが押せる形で表示される。HTML は文書の構造を書き、文字の色や配置などの見た目は CSS で指定する。

ブラウザは HTML のタグを読み取り、見出しやリンクとして画面に表示します。

HTML で書くのは、どこが見出しでどこが段落かという文書の構造です。 文字の色や大きさ、配置といった見た目は、HTML と組で使う CSS(Cascading Style Sheets)という別の言語で指定するのが基本です。 構造と見た目を分けておくと、サイト全体の見た目を CSS の側だけでまとめて変えられます。

XML ── データの意味と構造を書く

XML(Extensible Markup Language)も、タグを使うマークアップ言語です。 HTML との大きな違いは、タグを利用者が自分で決められることです。Extensible(拡張できる)の名前はここから来ています。 「品名」「数量」のように、データの意味を表す名前をタグにし、どの項目がどの項目に含まれるかというデータの組み立ても書けます。

<注文>
  <品名>ノート</品名>
  <数量>3</数量>
</注文>

「注文」のタグの中に、「品名」と「数量」のタグが入れ子になっています。 タグの名前を見れば、3 が数量だと人にもプログラムにも分かります。 そのため XML は、異なるシステムや会社のあいだでデータをやり取りするときの形式として使われます。

SGML から生まれた HTML と XML。上=SGML(HTML と XML のもとになった規格)。下の左=HTML:使えるタグが決まっている、Web ページを表示するため。下の右=XML:タグを自分で決められる、データの意味と構造を表すため。

HTML と XML はどちらも SGML をもとにしたマークアップ言語ですが、タグを自分で決められるのは XML です。

XML を書くときの基本的な決まり

開始と終了をそろえる … 開始タグには、同じ名前の終了タグを必ず対応させる。省略しない

入れ子を正しく … 内側で開いたタグは、外側のタグより先に閉じる。タグどうしを交差させない

いちばん外側は1つ … 文書全体を1つのタグ(ルート要素)で包む。上の例では「注文」

大文字と小文字を区別 … Name と name は別のタグとして扱う

表示のためのタグが決まっているのが HTML、データの意味を表すタグを自分で決められるのが XML です。

ある会社では、受注システムから出荷システムへ受注データを渡しています。 「顧客」「品名」「数量」といった項目の意味を自分で決めた名前のタグで示し、項目の入れ子で構造も表したいと考えています。 この目的に合う形式として、最も適切なのはどれですか。

JSON と CSV ── データをやり取りする書き方

JSON(JavaScript Object Notation)は、プログラムどうしがデータをやり取りするための、テキストで書く軽い形式です。 名前のとおり JavaScript のデータの書き方をもとにしていますが、特定のプログラム言語に依存しないので、 Python で書いたプログラムと Java で書いたプログラムのように、異なる言語で書かれたプログラムのあいだでも同じ形のままデータを渡せます。 Web のサービスどうしのやり取りでよく使われます。

{"品名": "ノート", "数量": 3, "色": ["青", "赤"]}

JSON の書き方

{ }(波かっこ) … 「名前:値」の組をコンマで区切って並べ、全体を囲む。上の例では「品名」と「ノート」が1つの組

[ ](角かっこ) … 値を順に並べる(配列)。上の例の「色」には、青と赤の2つの値が入っている

値の種類 … 文字列はダブルクォーテーション(")で囲む。数値はそのまま書く。ほかに true・false・null、{ } や [ ] を値として入れ子にもできる

JSON はタグを使いません。かっこと「名前:値」の組で構造を表すので、同じデータなら XML より短く書けることが多く、タグで印を付けるマークアップ言語とは書き方の仕組みが違います。

同じ注文データ(品名 ノート、数量 3)を3つの形式で書く。CSV=コンマで区切る。XML=タグで囲む。JSON=名前と値の組を波かっこで囲む。

同じデータでも、コンマで区切るか、タグで囲むか、名前と値の組で書くかで形式が分かれます。

比べて覚えたいのが CSV(Comma Separated Value)です。 CSV は、名前のとおり値と値のあいだにコンマ(,)を入れ、1行に1件のデータを書く形式です。表計算ソフトの表をそのまま書き出せます。

品名,数量
ノート,3
ペン,5

CSV は表の形には向いていますが、どの値が何を表すかは列の順番でしか分からず、入れ子の構造は書けません。 コンマで区切るのが CSV、タグで囲むのが XML、名前と値の組をかっこで囲むのが JSON です。

次のデータについての説明として、最も適切なのはどれですか。

{"店名": "駅前店", "席数": 20, "定休日": ["月", "木"]}

まとめ

この回で持ち帰ること

1. マークアップ言語は、内容を開始タグと終了タグ(名前の前に /)ではさんで、その部分が何かを示す。HTML と XML は、どちらも SGML という規格をもとに作られた

2. HTML=Web ページを書く。タグは決まっている。ブラウザが読んで表示する。見た目の指定は CSS

3. XML=タグを自分で決められ、データの意味と組み立てを書ける。システム間のデータのやり取りに使う。開始と終了をそろえる・入れ子を正しく・外側は1つ・大文字と小文字を区別

4. JSON={ } の中に「名前:値」の組、[ ] で値の並び。タグは使わない。言語に依存しないので、異なる言語のプログラムのあいだでデータを渡せる

5. CSV=値をコンマで区切り、1行に1件。表の形には向くが、入れ子は書けない

この節で解ける公開問題

令和4〜8年度の公開問題のうち、この節の知識で解ける問題は次の1問です。

データ記述言語

令和4年度 問88CSV と XML

同じ分野の過去問を続けて解く(アルゴリズムとプログラミング 17問) →

教科書の一覧(現行の試験の順)教科書の一覧(新しい試験の順)過去問

ITパスポートのUdemy講座を口コミで比べる。動画講座3つ・問題集3つ、受講者数・★評価・口コミつき。広告を含むページですITパスポートのUdemy講座を口コミで比べる。動画講座3つ・問題集3つ、受講者数・★評価・口コミつき。広告を含むページです

Udemy の ITパスポート講座を、受講者数・★評価・口コミで比べたページです(広告を含みます)。

出典:IPA「ITパスポート試験 シラバス Ver6.5」、W3C「Extensible Markup Language (XML) 1.0」、WHATWG「HTML Living Standard」、 IETF「RFC 8259(JSON)」「RFC 4180(CSV)」。練習問題は当サイトが説明のために作ったものです。

タイトルとURLをコピーしました