5.1.2. XML

1. 概要

 XML(eXtensible Markup Language)は、データの構造化と交換を目的として設計されたマークアップ言語です。HTMLの機能に加えて、独自のタグを定義できる柔軟性を持ち、主にインターネットを介したデータ交換に広く利用されています。XMLの重要性は、異なるシステム間でのデータ共有や、複雑な構造を持つ情報の表現に適していることにあります。

2. 詳細説明

2.1. XMLの特徴

  1. 拡張性: ユーザーが独自のタグを定義できる。
  2. 構造化: データを階層構造で表現できる。
  3. プラットフォーム独立性: 様々なシステムで利用可能。
  4. 人間可読性: タグの意味が理解しやすい。
  5. Unicode対応: 多言語のサポート。

2.2. XMLの基本的な記述方法

 XMLドキュメントは以下の要素で構成されます:

  1. XML宣言: ドキュメントの先頭に記述。
   <?xml version="1.0" encoding="UTF-8"?>
  1. 要素(Element): 開始タグと終了タグで囲まれたデータ。
   <book>
     <title>XMLの基礎</title>
     <author>山田太郎</author>
   </book>
  1. 属性(Attribute): 要素に付加的な情報を与える。
   <book isbn="978-4-xxxx-xxxx-x">
  1. コメント: <!-- --> で囲む。
   <!-- これはコメントです -->

2.3. 関連技術

  1. DOM(Document Object Model): XMLドキュメントをツリー構造で扱うためのAPI。
  2. SOAP(Simple Object Access Protocol): XMLベースのメッセージング プロトコル。Webサービスでよく使用される。
  3. SVG(Scalable Vector Graphics): XML形式で記述されるベクターグラフィックス形式。
  4. SAX(Simple API for XML): XMLドキュメントを逐次的に処理するためのAPI。大規模なXMLの処理に適している。
  5. XML Schema: XMLドキュメントの構造と内容を定義するための言語。

3. 応用例

  1. Webサービス: SOAPプロトコルを使用したデータ交換。
  2. 設定ファイル: アプリケーションの設定情報の保存。
  3. データ交換: 異なるシステム間でのデータ共有(例:企業間取引)。
  4. RSS/Atom: ニュースフィードの配信。
  5. SVGグラフィックス: Webページ上の動的なグラフィックス表示。

4. 例題

例題1

 以下のXMLの誤りを指摘し、正しく修正してください。

<?xml version="1.0" encoding="UTF-8">
<bookstore>
  <book>
    <title>XMLマスター</title>
    <author>鈴木一郎
    <price>2500円</price>
  </book>
</bookstore>

回答例1:
 修正後のXML:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book>
    <title>XMLマスター</title>
    <author>鈴木一郎</author>
    <price>2500円</price>
  </book>
</bookstore>

 修正点:

  • XML宣言の終わりに ?> を追加
  • <author> タグを閉じる

例題2

 次のXML Schemaの一部を見て、適合するXMLの例を作成してください。

<xs:element name="employee">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="age" type="xs:positiveInteger"/>
      <xs:element name="department" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required"/>
  </xs:complexType>
</xs:element>

回答例2:
 XML Schema に適合するXMLの例:

<?xml version="1.0" encoding="UTF-8"?>
<employee id="emp001">
  <name>山田花子</name>
  <age>28</age>
  <department>開発部</department>
</employee>

5. まとめ

 XMLは柔軟性と拡張性に優れたマークアップ言語であり、データの構造化と交換に広く利用されています。独自のタグ定義が可能で、様々なアプリケーションやシステム間でのデータ共有に適しています。DOM、SOAP、SVG、SAX、XML Schemaなどの関連技術と組み合わせることで、より強力なデータ処理や表現が可能になります。XMLの基本的な構造と記述方法を理解し、適切に活用することで、効果的なデータ管理と交換が実現できます。