開発ツール

XMLとは?バリデーション方法・基本構文を解説

XMLは、データを構造的に記述するためのマークアップ言語です。RSS、SOAP、SVG、設定ファイルなど多くの場面で使われています。この記事では、XMLの基本構文からバリデーション(妥当性検証)の方法まで解説します。

XMLとは

XML(eXtensible Markup Language)は、W3Cが策定した汎用データ記述言語です。HTMLと似たタグベースの構文を持ちますが、タグ名を自由に定義できる点が大きな違いです。

XML基本構文

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="programming">
    <title lang="ja">JavaScript入門</title>
    <author>山田太郎</author>
    <price>2800</price>
    <published>2025-01-15</published>
  </book>
  <book category="design">
    <title lang="ja">Webデザインの教科書</title>
    <author>佐藤花子</author>
    <price>3200</price>
    <published>2024-08-20</published>
  </book>
</bookstore>

XMLの構成要素

  • XML宣言<?xml version="1.0" encoding="UTF-8"?> — バージョンとエンコーディングを宣言
  • 要素(Element)<title>...</title> — 開始タグと終了タグで囲まれたデータ
  • 属性(Attribute)category="programming" — 要素に付加する情報
  • 空要素<br /> — 内容を持たない要素
  • CDATA<![CDATA[...]]> — パース不要なテキストブロック

XMLとJSONの比較

特徴XMLJSON
構文タグベースキーバリューペア
冗長性高い(開始/終了タグ)低い
属性サポートなし
コメント可能不可
スキーマ検証XSD / DTDJSON Schema
主な用途設定ファイル・SOAP・RSSREST API・Webアプリ

Well-formedとValidの違い

Well-formed(整形式)

XML構文のルールに従っているか。すべてのタグが閉じられている、ルート要素が1つだけ、属性値がクォートで囲まれているなど。

Valid(妥当)

DTDやXSDなどのスキーマに対して正しい構造を持っているか。Well-formedかつスキーマに適合している状態。

よくあるXMLエラー

  • 閉じタグの不一致<title>...</titl> → タグ名のスペルミス
  • 属性値のクォート漏れcategory=programming → ダブルクォートが必要
  • 特殊文字のエスケープ&&amp;と記述する必要がある
  • ルート要素が複数:XMLドキュメントのルート要素は1つだけ

よくある質問

XMLはまだ使われていますか?

はい。REST APIではJSONが主流ですが、SOAP Webサービス、RSS/Atom、SVG、Microsoft Officeファイル(docx/xlsx)、Androidのレイアウトファイルなどで今も広く使われています。

XMLとHTMLの違いは?

HTMLはWebページの構造を記述する固定のタグセットを持つ言語です。XMLは任意のタグを定義できる汎用データ記述言語で、XHTMLはXMLの構文規則に従ったHTMLです。

大文字小文字は区別されますか?

はい。XMLはHTMLと違い、タグ名と属性名の大文字小文字を厳密に区別します。<Title><title>は別の要素として扱われます。

XMLバリデーターを使ってみる

XMLの構文チェック・整形をブラウザ上で実行。エラー箇所も分かりやすく表示。

ツールを開く →