スポンサーリンク

【応用情報技術者試験】XML

ネットワーク通信の基本|IP・TCP・UDP・ICMP ネットワーク

XML(Extensible Markup Language)は、要素や属性でデータの構造を表すマークアップ言語です。用途に応じて語彙を定義でき、文書、設定、システム間のデータ交換などに使われます。

小さな例で構造を読む

<book id="B01">
  <title>ネットワーク入門</title>
  <price>1200</price>
</book>

bookが全体を包む要素、idは属性です。titleとpriceは子要素で、要素間に文字データを持ちます。priceという名前でも、数値の範囲や通貨の意味がXMLだけで自動的に決まるわけではありません。受け手と構造や意味の合意が必要です。

整形式と妥当性の違い

区分 確認すること
整形式 開始・終了タグの対応、適切な入れ子、一つの文書要素、属性値の引用符など
妥当性 DTD等で定めた要素・属性の規則に従うこと。XML Schemaでの検証も利用される
名前空間 異なる語彙で同じ要素名を使う場合などの識別

XMLは大文字と小文字を区別します。タグは交差させず、特別な文字は適切にエスケープします。単にタグが付いているだけでは正しいXMLとは限りません。

HTML・JSONとの違い

HTMLはWeb文書の構造や意味を表す語彙を持ち、表示の見た目は主にCSSが担います。XMLは用途ごとの語彙を定義する基盤です。JSONはオブジェクトや配列等で値を表す形式で、XMLの別名ではありません。

形式の選択では、文書の混在内容、名前空間、検証、既存システムとの互換性などを比較します。XMLなら必ず相互運用できる、JSONなら常に小さく高速という断定は避けましょう。

利用時の注意

SOAPやRSSはXMLを利用する例です。外部から受け取るXMLは、サイズや構造を検証し、不要な外部実体の解決などを制限する設定も必要です。データの形式と、安全に処理する仕組みを分けて考えます。

確認問題:タグ名をpriceにすれば、XMLだけで正の整数だと保証される?

いいえ。値の型や制約は、スキーマやアプリケーション側の検証等で定めます。

関連する記事

通信の基礎をnoteで復習する

データの表現形式と、そのデータを運ぶ通信プロトコルを区別するために役立ちます。

OSI基本参照モデルのnote教材で、通信の役割を整理する

この教材は通信階層の復習用です。本記事の個別仕様を詳説する教材ではありません。

note教材ナビで次の学習テーマを選ぶ

参考資料

W3C:XML 1.0仕様

コメント