対象試験と出題頻度
マークアップ言語は、ITパスポート・基本情報技術者・応用情報技術者のいずれでも出題されるテーマです。
HTMLとXMLの役割の違いを正確に区別できるかが繰り返し問われており、SGML・CSS・JSON・XSLTといった関連技術との対比も頻出です。
FE H26秋期 午前 問8、FE H24秋期 午前 問8、AP R5秋期 午前 問7、IP R7年度 問64など、幅広い試験区分で継続的に出題されています。
詳細をクリックして確認
ITパスポート
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
情報処理試験を勉強していると、「HTMLとXMLって何が違うの?どっちもタグを使うけど…」と混乱しがちです。
マークアップ言語(Markup Language)とは、一言で言うと
「タグ(< >で囲んだ記号)を使って、文書の構造や意味づけを記述する言語の総称」
のことです。
イメージとしては、「原稿に赤ペンで校正指示を書き込む作業」です。
原稿本文はそのまま残し、「ここは見出し」「ここは太字」「ここはリンク」といった指示を余白に書き加える。マークアップ言語はこの「赤ペン校正」をコンピュータが読める形で行う仕組みです。
📊 マークアップ言語の基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Markup Language(markup=印をつける) |
| 代表的な言語 | HTML、XML、SGML、XHTML など |
| 共通の特徴 | タグ(< >)で文書の構造・意味を記述する |
| 対比される概念 | スクリプト言語(JavaScript等)、プログラミング言語(処理の手順を記述) |
詳細解説
マークアップ言語は「プログラムを書く」ための言語ではなく、「文書に構造を与える」ための言語です。
処理の手順を記述するプログラミング言語とは目的が根本的に異なります。
マークアップ言語の系譜
すべてのマークアップ言語の起源はSGML(Standard Generalized Markup Language)です。
SGMLは1986年にISO 8879として国際標準化された汎用のマークアップ言語ですが、仕様が非常に複雑でした。そこからWebページ表示に特化して簡略化したのがHTML、データ交換に特化して再設計したのがXMLです。
🔄 マークアップ言語の系譜(図解)
(1986年 ISO 8879)
汎用マークアップ言語の元祖
Webページの表示用
タグは定義済み
データ交換用
タグを自由に定義可能
HTMLをXMLの文法で再定義
HTMLとXMLの違い
ここが試験の最頻出ポイントです。
HTMLとXMLは同じマークアップ言語でも、目的・タグの扱い・文法の厳密さが大きく異なります。
📊 HTML vs XML 比較表
| 比較項目 | HTML | XML |
|---|---|---|
| 正式名称 | HyperText Markup Language | eXtensible Markup Language |
| 主な目的 | Webページの表示構造を定義する | 異なるシステム間のデータ交換を行う |
| タグの種類 | あらかじめ定義済みのタグのみ使用(<h1>、<p>、<a>等) | 利用者が自由に定義できる(<商品名>、<価格>等) |
| 文法の厳密さ | 比較的緩い(閉じタグの省略などが許容される場合あり) | 厳密(閉じタグ必須、大文字小文字を区別) |
| 由来 | SGMLを簡略化 | SGMLを再設計(サブセット) |
▶ コードで見るHTMLとXMLの違い(クリックで展開)
HTML(Webページの表示を定義):
<!DOCTYPE html>
<html>
<head>
<title>商品ページ</title>
</head>
<body>
<h1>ノートPC</h1>
<p>価格: 98,000円</p>
</body>
</html>
→ タグは <h1> <p> など仕様で決められたものを使う。ブラウザが見た目に変換する。
XML(データの構造を定義):
<?xml version="1.0" encoding="UTF-8"?>
<商品リスト>
<商品>
<商品名>ノートPC</商品名>
<価格>98000</価格>
</商品>
</商品リスト>
→ タグを利用者が自由に定義できる。日本語のタグ名も使用可能。表示方法は定義しない。
関連技術の整理
IPA試験ではHTML・XMLそのものだけでなく、周辺技術との組み合わせで問われることがあります。
| 技術名 | 役割 | 覚え方のポイント |
|---|---|---|
| CSS | HTMLの見た目(文字色・レイアウト等)を定義するスタイルシート | HTML=構造、CSS=デザイン |
| DTD | XMLやSGMLの文書構造のルール(使えるタグの種類等)を定義する | XMLの「設計図の設計図」 |
| XSLT | XML文書を別のXMLやHTMLに変換するための仕様 | XMLの「翻訳機」 |
| JSON | JavaScriptのオブジェクト表記に由来する軽量なデータ記述形式 | XMLよりシンプルなデータ交換フォーマット |
| RSS | Webサイトの見出し・更新情報をXMLベースで配信する仕様 | ニュースサイトの「更新通知フォーマット」 |
ここだけは確実に押さえてください。マークアップ言語はプログラミング言語ではありません。
HTMLやXMLは「処理の手順」ではなく「文書の構造」を記述するものであり、単独で計算やデータ処理を行う機能は持ちません。
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 マークアップ言語の核心を3行で
・タグ(< >)で文書の構造や意味を記述する言語(プログラミング言語ではない)
・HTML=Webページの表示用(タグは定義済み)、XML=データ交換用(タグを自由に定義可能)
・いずれもSGMLを起源とし、CSS(見た目の定義)やDTD(文書構造の定義)と組み合わせて使う
試験ではこう出る!
マークアップ言語に関する出題は、「XMLの特徴を問う定義問題」と「関連技術の名称・役割を選ばせる問題」の2軸が中心です。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| FE H26秋期 午前 問8 |
XMLに関する記述のうち適切なものを選ぶ問題。 | ・正解は「利用者独自のタグで文書の属性情報や論理構造を定義できる」 ・「HTMLを拡張したもの」はひっかけ(正しくはSGMLを拡張) |
| FE H24秋期 午前 問8 |
XMLの特徴として適切なものを選ぶ問題。 | ・正解は「ユーザ独自のタグを使って文書の属性情報や論理構造を定義できる」 ・H26秋期 問8と同一論点(流用問題) |
| AP R5秋期 午前 問7 |
JavaScriptのオブジェクト表記法に由来するデータ記述の仕様を選ぶ問題。 | ・正解はJSON ・DOM、Ajax、RSSがひっかけ選択肢(XMLの周辺技術として登場) |
📝 IPA試験での出題パターン
パターン1:「XMLの説明として適切なものを選べ」
XMLの特徴を4つの記述から選ぶ形式。最大のひっかけは「HTMLを拡張したもの」。XMLの起源はSGMLであり、HTMLとは別系統で派生した言語である点が狙われる。キーワードは「利用者独自のタグ」「データ交換」「SGMLのサブセット」。
パターン2:「関連技術の名称を選べ」
CSS、DTD、XSLT、JSON、RSSなどの説明文が並び、名称を問う形式。IP R7年度 問64ではRSSの説明を選ばせる問題が出題され、CSSやXMLの説明がひっかけに使われた。
パターン3:「XMLの変換・検証技術を選べ」
AP H21秋期 問8のように、XML文書を別の文書構造に変換する仕様(XSLT)を問う形式。DTD、XLink、CSSとの混同がひっかけ。
試験ではここまででOKです。「HTMLは表示用でタグ定義済み」「XMLはデータ交換用でタグ自由定義」「起源はどちらもSGML」の3点を押さえれば得点できます。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. マークアップ言語であるXMLの特徴として、最も適切なものはどれでしょうか?
- A. Webページの表示構造を定義するために、<h1>、<p>、<a>などあらかじめ仕様で定義されたタグのみを使用してコンテンツを記述する言語である。
- B. HTML文書の文字の色やサイズ、行間、レイアウトなどの視覚的な表現を定義するための仕様であり、構造と見た目を分離する目的で使われる。
- C. 利用者が独自のタグを定義して文書の属性情報や論理構造を記述でき、異なるシステム間でのデータ交換を容易にするために設計されたマークアップ言語である。
正解と解説を見る
正解:C
解説:
XMLは利用者が独自のタグを自由に定義でき、異なるシステム間でのデータ交換を目的として設計されたマークアップ言語です。FE H26秋期 午前 問8でも「利用者独自のタグを使って文書の属性情報や論理構造を定義できる」が正解の表現として使われています。
選択肢AはHTMLの説明です。HTMLはあらかじめ仕様で決められたタグだけを使ってWebページの表示構造を定義する言語であり、利用者がタグを自由に作ることはできません。選択肢BはCSS(Cascading Style Sheets)の説明です。CSSはHTML文書の視覚的な表現を定義するスタイルシートであり、マークアップ言語そのものではありません。
よくある質問(FAQ)
Q. 「XMLはHTMLを拡張したもの」という記述は正しいですか?
正しくありません。XMLはSGML(Standard Generalized Markup Language)のサブセットとして再設計された言語であり、HTMLを拡張したものではありません。FE H26秋期 問8やFE H23秋期 問8でもこの記述がひっかけ選択肢として使われています。HTMLもSGMLから派生した言語ですが、XMLとHTMLは兄弟のような関係であり、親子関係ではないと整理してください。
Q. XHTMLとは何ですか?
XHTMLは、HTMLをXMLの厳密な文法ルールに従って再定義したマークアップ言語です。HTMLの柔軟さ(閉じタグの省略など)を排除し、すべてのタグを小文字で記述する・閉じタグを必ず書くといったXMLの規則を適用しています。IPAのシラバスにも用語例として掲載されていますが、現在のWeb開発ではHTML5が主流であり、試験でも深掘りされることは少ないです。
Q. XMLとJSONはどちらがデータ交換に使われていますか?
現在の実務では、Web APIのデータ交換フォーマットとしてJSONが主流です。XMLに比べて記述量が少なく軽量なため、特にモバイルアプリやWebサービス間の通信で広く採用されています。一方、XMLは金融・医療・行政など厳密なデータ定義(DTDやXMLスキーマ)が求められる分野で依然として使われています。IPA試験ではAP R5秋期 問7やAP H31春期 問7でJSONが出題されており、XMLとの使い分けを問われる可能性があります。
Q. HTMLは「プログラミング言語」ですか?
HTMLはプログラミング言語ではありません。プログラミング言語は「処理の手順(アルゴリズム)」を記述するものですが、HTMLは「文書の構造(見出し・段落・リンクなどの意味づけ)」を記述するマークアップ言語です。HTML単独では条件分岐やループ処理などの計算は行えず、動的な処理を実現するにはJavaScript等のスクリプト言語と組み合わせる必要があります。