Adobe
製品
Acrobat
Creative Cloud
Creative Suite
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
その他の製品一覧
ソリューション
デジタルマーケティング
デジタルメディア
教育
金融機関
Web Experience Management
その他のソリューション
ラーニング サポート ダウンロード 会社情報
ご購入
アドビストア 安心のサポート& サービス
アカデミックストア 学生、教職員、個人向け
アドビライセンスストア 中小企業向け
ボリュームライセンスについて 企業、教育機関、官公庁向け
販売パートナー
キャンペーン情報
検索
 
情報 サインイン
ようこそ、 さん カート 注文状況 マイアカウント
マイアカウント
注文状況
アカウント情報の変更
コミュニケーションの設定を変更
サインアウト
サインインの目的 お客様のアカウントや体験版ダウンロード、製品の拡張機能、コミュニティエリアへのアクセスなどを管理するため
Adobe
製品 セクション ご購入   検索  
ソリューション 会社情報
サポート ラーニング
サインイン サインアウト 注文状況 マイアカウント
先行予約の提供開始予定日Date. 商品が発送されるまで、クレジットカードには課金されません。提供開始の予定日は変更される場合があります。 先行予約の提供開始予定日Date. ダウンロードの準備が整うまで、クレジットカードには課金されません。提供開始の予定日は変更される場合があります。
個数:
ご購入には学生・教職員個人版の購入資格の確認が必要です。
小計
カートの中身を見る
Adobe Developer Connection / Dreamweaverデベロッパーセンター /

XML の概要

著者 Marius Zaharia

Marius Zaharia
  • www.interaktonline.com

Content

  • XML について
  • XML が必要な理由
  • XML シンタックス

作成日

8 August 2005

ページ ツール

Facebookでシェア
Twitterでツイート
LinkedInでシェア
ブックマーク
印刷

タグ

必要条件

この記事に必要な予備知識

  • XML および XSL に関する予備知識は必要ありません。この記事は、XML の紹介と、XML をベースとしたアプリケーション開発の基本を説明することを目的としています。
  • HTML、WWW、および Web ページの構築についての予備知識があることが推奨されています。

ユーザーレベル

中級

その他の要件

Dreamweaver MX 2004 以降の製品が既にインストールされている場合は、この記事の例を実行しながら読み進めることも可能です。もちろん、例を読むだけでもかまいません。任意のテキストエディタを利用しても、これらの例を使用できます。ただし、他のテキストエディタには Dreamweaver が提供している固有の XML サポート機能はありません。

Dreamweaver MX 2004 以降 (オプション)

  • トライアル
  • 購入

この記事では、XML の使用が要件に含まれているプロジェクトを受注したチームや、単にこのテクノロジーに接してみたいというユーザーのために、XML の基本を紹介します。多くの企業がデータ交換の手段として XML を使い始めています。各国の行政機関がデータ交換形式として XML を標準化したため、Web 開発者は XML の使い方を習得する必要に迫られています。そのため、XML について学習し、自らの技術を拡張することには大きな利点があります。さらに、近々発売される Macromedia Dreamweaver 8 では、XML および XSL ドキュメントの作成と編集が最初からサポートされているため、クライアントサイドおよびサーバーサイドでの XSL 変換を実行することができます。この記事では、Dreamweaver 8 の出荷時にデベロッパーがすぐに作業に取り掛かれるように XML の基本を紹介します。まず XML に関する説明から始め、次に XML の長所と短所、そして XML を使用する状況や方法を例を挙げながら説明します。

XML について

ご存知のとおり XML は EXtensible Markup Language の略です。XML は HTML に似たマークアップ言語であり、HTML と同じくタグを使用します。では、XML は何をするのでしょうか。また、なぜ顧客は XML の使用を要求するのでしょうか。驚かれるかもしれませんが、XML 自体は何も実行しません。情報を記述して、その情報をプラットフォームに依存しないフォーマットで配信するだけです。

XML は特定の言語を使用しないため、プラットフォームに依存せずに済みます。XML のタグは事前に定義されていないので、ユーザーが独自のタグを作成することができます。タグを作成できるという長所があるため、XML は自己記述的と呼ばれます。

意外かもしれませんが、私たちは無意識のうちにあらゆるところで XML を使用しています。電子メールクライアントでニュースの見出しを直接読み取るときや、携帯電話を使って Web ページにアクセスするときに、実は XML ベースのテクノロジーを使っているのです。

XML が HTML と似ているのであれば、なぜ HTML ではなく XML を使用する必要があるのでしょうか。

まず、XML は HTML に取って代わるものではなく、まったく異なる目的を持っています。HTML は人間が読み取りできる形式でデータを表示するために設計されているのに対し、XML はデータを記述、保存、および交換することを目的として設計されています。HTML ではタグおよび属性と呼ばれる一連の定義済みエレメントを使用して、ページレイアウトやテキストのフォーマットなどのドキュメントの視覚的な面を定義したり、ドキュメントやイメージへのリンクを組み込んだりします。HTML では、このように限られたタグしか使用できないため、表示できる情報の種類は限られています。たとえば、HTML を使って数式を表示するのに非常に苦労する場合があります。XML では、拡張性によってそのような問題を解決します。つまり、ユーザー独自のタグとドキュメント構造を "作り出す" ことができるのです。ドキュメントの全体構造に影響を与えずに、エレメントを追加および削除できます。

たとえば、ある会社の部署について XML で次のように記述することができます。

<department> <employee> <name>John Doe</name> <job>Software Analyst</job> <salary>2000</salary> </employee> <employee> <name>Jane Fletcher</name> <job>Designer</job> <salary>2500</salary> </employee> </department>

試しに Dreamweaver で新規の XML ドキュメントにこのテキストを入力またはコピーし、ブラウザでプレビューすることもできます。Dreamweaver MX 2004 で新規の XML ドキュメントを作成するには、[ファイル] メニューをクリックして [新規] を選択します。[新規ドキュメント] ウィンドウで [基本ページ] カテゴリを選択し、基本ページのリストから [XML] を選択してください。

[新規ドキュメント] ダイアログボックスでの XML ドキュメントの作成
図 1. [新規ドキュメント] ダイアログボックスでの XML ドキュメントの作成

次に、[作成] ボタンをクリックします。Dreamweaver により、次のような行が含まれるドキュメントが作成されます。

<?xml version="1.0" encoding="iso-8859-1"?>

これは XML 宣言で、各 XML ドキュメントの先頭に記述する必要があります。この宣言により、ドキュメントで使用する XML のバージョンと文字セットが指定されます。

新規に作成した XML ドキュメントの先頭行の後に、上記の例のテキストを入力してください。Dreamweaver では、XML ドキュメント用のシンタックスカラーリングが固有にサポートされています。

XML シンタックスコードカラーリングのサポート
図 2. XML シンタックスコードカラーリングのサポート

初めて作成した XML ドキュメントを保存し、ブラウザでプレビューしてみましょう。ブラウザが XML をサポートしている場合、ブラウザでもコードがカラーリングされ、XML ドキュメントが縮小可能なツリーとして表示されていることがわかります。

縮小可能な XML ツリー
図 3. 縮小可能な XML ツリー

メモ : 通常のブラウザでは、デフォルトで XML がサポートされています。ブラウザが異なる場合に XML ドキュメントがどのように表示および処理されるかを確認するには、W3Schools Web サイトのページ*にアクセスしてください。

各タグの隣にあるマイナス記号をクリックすると、エレメントが縮小されます。エレメントを展開するには、エレメントの隣のプラス記号をクリックします。

プラス記号およびマイナス記号のクリックによる XML ツリーの展開および縮小
図 4. プラス記号およびマイナス記号のクリックによる XML ツリーの展開および縮小

同じ例を HTML で書くと次のようになります。

<table> <tr> <td>John Doe</td> <td>Software Analyst</td> <td>2000</td> </tr> <tr> <td>Jane Fletcher</td> <td>Designer</td> <td>2500</td> </tr> </table>

このページをブラウザでロードすると、標準的な HTML テーブルのように表示されます。ここでは見やすいようにボーダーを追加しました。

同じコンテンツを HTML プレゼンテーションマークアップで記述した場合
図 5. 同じコンテンツを HTML プレゼンテーションマークアップで記述した場合

上記の例で使用したタグは、ある企業の従業員情報を記述するために固有に設計したものです。2 つの例を比較すると、HTML はフォーマット主導であり XML はコンテンツ主導であることがわかります。つまり、HTML のタグはタグ内のデータの表示方法を記述するのに対し、XML のタグ名はタグ内のデータを記述します。

上記の例は、XML と HTML のいくつかの重要な違いを示すために使用しました。ただし、XML は HTML に代わるものとして設計されてはいないため、すべての XML ドキュメントを HTML ドキュメントに変換できるとは限りません。

XML が HTML とは異なることはわかりました。では XHTML とは何ですか。

聞き慣れない専門用語が次々に登場したため、混乱してきているかもしれません。XHTML はこの記事の対象外ですが、状況を明解にするため、XHTML とは何かを簡単に説明します。

XHTML とは eXtensible Hyper Text Markup Language の略で、XML をベースに HTML をさらにわかりやすくしたものです。XHTML は HTML のより厳密な仕様*であり、将来的には HTML に代わるものとして設計されています。XHTML には HTML とほぼ同じタグが含まれていますが、XML のシンタックスルールに従って書き換えられています。このことについては、この記事の後半で詳しく説明します。

XML がデータを保存するなら、XML はデータベースなのでしょうか。

XML はデータを保存および記述するため、データベースに似ています。XML に関連して話題になる "スキーマ" や "クエリー言語" という言葉を耳にしたことがあるかもしれません。では XML と一般的な DBMS (Database Management System : データベース管理システム) の違いは何でしょうか。

まず、XML には移植性があります。 データベースは設計の対象である特定のデータベース言語に依存しており、その言語でなければ正しく解釈されない場合がありますが、XML ではタグの中にその意味が保持されます。データベースはデータの構造を定義することしかできませんが、XML は自己記述的であり、データの構造と意味の両方を伝えることができます。

さらに、前のセクションで見たとおり、XML はデータを階層ツリーとして表現することができます。たとえば、<employee> エレメントは <department> エレメントの子であり、XML ツリーにそのように埋め込まれています。

もちろん、データベースと比較して XML にも短所があります。それぞれ開発の目的が異なるので短所があるのは当然です。XML の最も明白な短所は、トリガ、マルチユーザーアクセス、効率的な格納、インデックス、セキュリティ、トランザクション、データの整合性チェック、複数ドキュメント間のクエリーなどのデータベース固有の機能がないことです。DBMS は迅速かつ安全な方法でデータを処理、保存、および取得することを目的としていますが、XML は複数のプラットフォーム間でデータを交換することを目的としているので、この短所は当然のものと言えます。

したがって、データベースでは一般的なインデックスや検索の最適化機能が XML にはないために、XML ドキュメントの検索速度はデータベースと比べて遅くなります。

また、XML ではデータ項目ごとにタグと属性のペアが必要になるため記述は冗長になります。

データ中心かドキュメント中心かで分類することはやや時代遅れかもしれませんが、XML の理念や XML テクノロジーの背景にある基本概念を理解する上で重要です。

次のセクションでは、XML のいくつかの長所と短所について考察し、XML を使用することのメリットを理解できる実際の状況を説明します。

XML が必要な理由

どのような状況で XML を使用するかを判断するには、XML の重要な長所を把握している必要があります。一部の長所については前のセクションで簡単に説明しました。このセクションでは、他のマークアップ言語や類似のテクノロジーと比べた XML の長所に注目します。

X は "eXtensible" の略である

XML を使用する際、多くの人は X が "eXtensible" (拡張性) の略であることを忘れています。拡張性があるということは、アプリケーションのクラッシュを引き起こさずに、追加タグをいくつでも定義できることを意味します。たとえば、次のエレメントに子エレメントを追加できます。

<employee> <name>John Doe</name> <job>Software Analyst</job> <salary>2000</salary> </employee>

追加した後は次のようになります。

<employee> <name>John Doe</name> <job>Software Analyst <responsibility>Write technical specifications</responsibility> <responsibility>Translate client requirements into software requirements</responsibility> </job> <hire_date>Jun 25, 2005</hire_date> <salary>2000</salary> </employee>

このように追加しても、この XML ドキュメントを読み取るアプリケーションは、どの従業員を参照しているかを理解できます。

異なるプラットフォームに対して 1 つの言語

移植性は、ユーザー自身がタグや属性を定義できるという事実に基づいています。XML ドキュメントを読み取るのに特別なライブラリやアプリケーションサーバーは必要ありません。ただし、開発環境を XML に対応させるには多少の設定が必要です。この設定については今後の記事で説明します。XML ドキュメントはプレーンテキストファイルであるため、通常のバイナリファイルとは異なり、XML ドキュメントを解釈するのに専用のソフトウェアは必要ありません。つまり、XML ファイルはメモ帳で開いて編集することができます。

そのため、互換性のない複数のハードウェアやソフトウェアプラットフォーム、またはアプリケーションの間で情報をやり取りしなければならない場合に、XML が選ばれるようになりました。これが発展して、XML を適用したいくつもの通信テクノロジーが生まれてきました。広く普及している WML (Wireless Markup Language : ワイヤレスマークアップ言語) や WAP (Wireless Application Protocol : ワイヤレスアプリケーションプロトコル) などがその一例です。WML は XML ベースの言語で、電話機や PDA などの携帯端末向けのインターネットアプリケーションのマークアップに使用されています。WML の詳細については、W3 Consortium のチュートリアル*を参照してください。

移植性は、多くの企業がプラットフィームに依存しない方法で大量の財務情報を交換する必要がある、企業間取引用のアプリケーションにおいても大いに役立ちます。多くの異なるアプリケーションが、インターネット上でこの種の情報を交換するのに、SOAP* (Simple Object Access Protocol : 簡易オブジェクトアクセスプロトコル) を使用しています。SOAP は、評判の高い XML ベースのプロトコルです。XML ベースのこれらの情報共有アプリケーションは、Web サービスと呼ばれています。

コンテンツとプレゼンテーションの分離

XML を使用すると、コンテンツが重複する危険性を低減できます。顧客がレイアウトやプレゼンテーションを定義するのに HTML や CSS に注意を集中しているときに、個別の XML ファイルに保存されている基本の情報を変更しても、レイアウトやプレゼンテーションが影響を受けることはありません。

たとえば、CMS (Content Management System : コンテンツ管理システム) では、HTML や PDF などのさまざまなフォーマットでエンドユーザーにドキュメントを提供する場合がありますが、フォーマットごとに各ドキュメントの個別のバージョンを保存していては無駄が生じます。コンテンツを複製すると貴重なディスクスペースが使用されるため、重複する情報が原因で CMS の動きは鈍り、処理は遅くなります。XML ベースのエンジンを使用すると、コンテンツを 1 度保存するだけで適切なフォーマットで抽出または表示することができます。

XML でコンテンツとプレゼンテーションが分離されるのであれば、データのプレゼンテーションに何を使用すればよいですか。

任意の処理またはフォーマットの要件がある場合は、個別の XSL (eXtensible Style sheet Language) ドキュメントで処理します。XSL スタイルシートは、XML ファイルに含まれるデータのプレゼンテーションを指定するためのものです。XML と XSL は出力時に結合され、HTML のスタイルが CSS で設定されるのと同じ要領でフォーマット要件がデータに適用されます。

XSL については次回の記事で詳しく取り上げる予定です。XML と XSL を使用して、アプリケーションに適したフォーマット出力を生成する方法を説明します。Dreamweaver 8 には、カスタム XML ファイルに合わせて独自の XSL スタイルシートを簡単かつ視覚的に作成できる機能があります。これを使用すると、ご自分のサイトに RSS フィードを読み込んだり、サイトの訪問者に最新ニュースや更新データを提供することがどれほど簡単にできるかご理解いただけるでしょう。

XML の 3 つの重要な長所を理解すれば、どのような状況で XML を使用すべきかすぐにわかります。

  • 大量のデータを操作する一方で、柔軟性と拡張性を維持する必要があるアプリケーション。Web ポータル、求人職種一覧、または金融系のアプリケーションなどがこれに該当します。
  • CMS、ドキュメントライブラリ、サイトトラッキングシステムなど、コンテンツが重複する恐れがある場合。
  • 大量のデータを複数の異なるプラットフォーム間で交換する必要がある場合。企業間アプリケーション、ニュースフィードをサポートする電子メールクライアント、モバイルデバイスなどです。
  • 多くの顧客に対して、簡単に利用できる情報を提供する必要がある場合。そのような情報には、ニュースの見出し、企業のプレスリリース、重要なお知らせや発表、ブックマーク、再生リスト、イベントカレンダー、メーリングリストなどが含まれます。

XML は、異なるデータベースアプリケーション間でのデータ転送用に既に広く使用されています。Microsoft Access や phpMyAdmin* など、DBMS の多くは、既にデータベーステーブルを XML ファイルで書き出せるようになっています。

RSS (Really Simple Syndication) は、最も普及している XML の適用の 1 つです。RSS は、ニュースやニュースのようなコンテンツを配信するように設計された、まったく別の XML ドキュメントフォーマットです。RSS を利用している人気の Web サイトには、Wired* や Slashdot*、個人のブログなどのコミュニティサイトがあります。Macromedia 社では、デベロッパーセンターの記事を RSS フィード*形式で提供しています。RSS の主な長所は、コンテンツの読者が自分の好みのフォーマットでコンテンツを読むことができ、自分の Web サイトに読み込むことができることです。次回の記事の 1 つで、Dreamweaver 8 を使用した RSS フィードの取り込み方法を説明します。

XML の短所をいくつか考えれば、XML の使用を避けた方がよい状況を簡単に判断できます。

  • XML は、規模が小さく、コンテンツが乏しいかほんの数ページしかないような個人の Web サイトや企業のプレゼンテーション用 Web サイトには適していません。その場合は、静的 HTML と CSS/Flash デザインなどで十分対応できます。
  • XML は、データの取得やセキュリティが重要で、膨大なコンテンツを持つ Web サイトには適していません。この場合は、データベースが最適なソリューションです。企業の Web サイトやデータウェアハウスなどがこれに該当します。
  • HTML やデータベースの代わりとして XML を使用することは勧められていません。Web サイトが既にデータベース主導になっている場合、XML に切り替える意味がありません。ただし、ニュースの配信や企業の発表のために RSS フィードを追加して、顧客が自分の Web サイトに直接読み込めるようにすることは可能です。

XML シンタックス

前の例を学習したユーザーであれば、XML ドキュメントがどのようなものであるかを理解しているでしょう。XML シンタックスは直接的でわかりやすく、そのルールは明快できわめて単純です。XML ドキュメントは、1 つの XML 宣言と 1 つのルートエレメントまたはタグで構成され、ルートエレメントまたはタグには、ネストされた複数のエレメントが含まれます。まず、最も重要なシンタックスルールを簡単に説明します。

  • すべての XML ドキュメントには 1 つのルートエレメントが必要です。
  • すべての XML エレメントには終了タグが必要です。
  • タグの大文字と小文字は区別されます。
  • すべての XML エレメントは正しくネストされている必要があります。
  • 属性は開始タグの中に記述し、引用符で囲む必要があります。

すべての XML ドキュメントは XML 宣言から開始する必要があります。Dreamweaver を使用して XML ドキュメントを作成する場合は、XML 宣言が自動的に追加されます。XML 宣言は、XML ドキュメントを呼び出すアプリケーションが情報を正確に読み取り、解釈するために使用されます。デフォルトでは、Dreamweaver で作成される XML ドキュメントは 1.0 の仕様*に準拠しており、ISO-8859-1 (Latin-1/West European) 文字セットを使用します。XML 宣言はエレメントではなく、XML ドキュメントの一部とは見なされません。

次に、ドキュメントにはルートエレメントが 1 つだけ含まれます。前の例では、ルートエレメントは <department> でしたが、会社に複数の部署があるとします。その場合、2 番目の <department> エレメントを、次のようにドキュメントに追加できるでしょうか。

<?xml version="1.0" encoding="iso-8859-1"?> <department> </department> <department> </department>

いいえ、できません。この場合、<company> という新しいルートエレメントを定義する必要があります。. 新しいルートエレメントには、次のように、任意の数の department という子エレメントを含めることができます。

<company> <department> <employee> <name>John Doe</name> <job>Software Analyst</job> <salary>2000</salary> </employee> <employee> <name>Jane Fletcher</name> <job>Designer</job> <salary>2500</salary> </employee> </department> <department> <employee> </employee> </department> </company>

その他のすべての子エレメントは、ルートタグで囲む必要があります。

HTML では <hr> や <br> などの単一タグエレメントを使用できますが、XML ではすべてのエレメントに終了タグが必要です。終了タグを省略すると、次のようなエラーがブラウザに表示されます。

The following tags were not closed:department.Error processing resource 'http://www.domain.org/company.xml'.

Dreamweaver 8 の新機能の 1 つは、デフォルトのコード補完機能です。この機能は XML ファイルにも対応しています。たとえば、次のように入力したとします。

<company> <department> <employees>

「</」と入力すると、Dreamweaver 8 で終了タグが自動的に正しく入力されます。上記の例では、最初に「</」と入力すると、</item> が自動的に挿入されます。次回「</」と入力すると、</items> が自動的に挿入されます。次回「</」と入力すると、</root> が自動的に入力されます。Dreamweaver 8 ではページ内での現在の位置が把握され、適切な終了タグが挿入されます。コード補完機能は、特にユーザーがコーディングの達人でない場合に、適切に形成された XML ドキュメントを作成するのに役立ちます。

さらに、タグ名の大文字と小文字は区別されます。つまり、"<Department>" は "<department>" や "<DEPARTMENT>" とはまったく異なるエレメントです。当然のことながら、1 つのエレメントの開始タグと終了タグでは大文字と小文字を一致させて入力する必要があります。次の例は、XML 内の不正なタグの組み合わせを示します。

<JOB>Software Analyst </job>

既に説明したとおり、XML エレメントは親子関係で関連付けられています。上記の例では <employee> は <department> の子エレメントで、<department> は一意のルートエレメント <company> の子エレメントです。これらの関係を保つには、エレメントを正しくネストさせる必要があります。HTML では次の例のようにタグを交差させることができましたが、XML のエレメントはすべて、それぞれのタグ内で正しくネストさせる必要があります。

<b>This text is <i> emphasized </b> and italic</i>.

上の例は HTML ではまったく問題なく、ブラウザで表示すると次のようになります。

交差するネストは HTML では有効だが XML では無効
図 6. 交差するネストは HTML では有効だが XML では無効

XML では、コンテンツまたは実際の情報は、エレメントおよびエレメントの属性に保持されます。1 つのエレメントには、単純なテキスト、その他のエレメント、またはその両方を含めることができます。たとえば、次のエレメントを考えてみましょう。

<employee> <name>John Doe</name> <job>Software Analyst</job> <salary>2000</salary> </employee>

上のエレメントは、次のように書き替えることができます。

<employee> John Doe <job>Software Analyst</job> <salary>2000</salary> </employee>

これは、エレメント employee に単純なテキストと他のエレメントが混在していることを意味します。

空のエレメントを含めることもできます。次のエレメントは、"求人中で、現在も適任者を探している" と解釈できます。

<employee></employee>

同じエレメントを、属性を使用して書き替えることもできます。

<employee job="Software Analyst"> John Doe <salary>2000</salary> </employee>

XML では、属性は 1 つのエレメントのプロパティです。属性には、エレメントの特徴が記述されます。
属性値をマークするには、一重引用符 (' ') または二重引用符 (" ") を使用します。これまでの一連の例からわかるように、1 つのデータを子エレメントまたは属性のいずれかとして格納できます。使用する方法としては、データに関する追加情報を指定する場合のみ、つまりメタデータを必要とする場合のみは属性を使用するのが理想的です。次に例を示します。

<employee id="31"> <name>John Doe</name> <job>Software Analyst</job> <salary>2000</salary> </employee>

この場合、従業員 ID は実際のデータには何の関係もありません。ただし、XML 処理ソフトウェアでこの ID を使用すれば、対応する従業員を迅速に特定することができます。このような情報、つまりデータに関するデータをメタデータと呼びます。

エレメントの代わりに属性を使用する方法には、いくつか欠点もあります。XML ドキュメントの全体的な構造が不明瞭になり、拡張性が低下します。さらに、属性は複数の値を保持できないため、処理がより難しくなります。従業員に関する情報を、次のように格納した場合を考えてみましょう。

<employee name="John Doe" job="Software Analyst" salary="2000"></employee>

これでは、情報を明確に構造化し、交換を容易にするという XML の目的をまったく実現できなくなります。

命名規則 – 何を書き込むことができますか。

この時点で、"ユーザー自身がタグを定義できるのなら、エレメントに対して本当に何を使ってもかまわないのだろうか" という質問が当然生じることでしょう。答えは "はい" であり、"いいえ" でもあります。XML には予約語がないので、エレメントには何でも使用できますが、次の単純な命名規則に従う必要があります。

  • 名前には任意の英数字を含めることができますが、数字や句読点などを先頭文字に使用することはできません。
  • 名前に空白を含めることはできません。
  • XML ドキュメントの定義と混乱しやすくなるため、名前の先頭に xml という文字を使用しないでください。
  • エレメント名の中では、":" 文字を使用しないでください。

エレメント名の中に "." 文字や "-" 文字を使っても問題はありませんが、推奨していません。XML ファイルを処理するアプリケーションが、これらの記号を演算子として解釈することがあるためです。名前を長くしなければならない場合は、それらの記号を、次の例のように "_" に置き換えることができます。

<employee> <first_name>John</first_name> <last_name>Doe</last_name> <job>Software Analyst</job> <salary>2000</salary> </employee>

エレメントのコンテンツとして、何でも使用することができますか。

基本的には何でも使用できます。英語以外の文字もサポートされていますが、適切な文字セットを設定しているかどうか、また XML ドキュメントを処理するクライアントアプリケーションが英語以外のコンテンツをサポートしているかどうかを確認する必要があります。また、HTML とは異なり、コンテンツ内の空白はそのまま保持されます。つまり、空白を連続して入力しても、取り除かれることはありません。

すべてのマークアップまたはプログラミング言語では、コメントの入力が許可されています。XML も例外ではありません。シンタックスは HTML と同様です。

<!-- This employee deserves a raise. -->

この記事の前半で、XML の適用範囲として RSS を取り上げました。次の例は、簡略化された Macromedia デベロッパーセンターのフィードです。適用された XML ドキュメントの構造とシンタックスルールの構造を示しています。

<?xml version="1.0" encoding="utf-8"?> <rss version="1.0"> <channel> <title>Macromedia Developer Center RSS Feed June 27, 2005</title> <link>http://www.macromedia.com/devnet/</link> <description>Macromedia Developer Center is your center for the tutorials, articles, and sample applications you need to master Macromedia products.</description> <item> <title>Creating a Dynamic Playlist for Progressive Flash Video</title> <link>http://www.macromedia.com/devnet/flash/articles/prog_download.html</link> <description>Learn how to create an XML-driven playlist for viewing progressive FLV files.</description> </item> <item> <title>Chatting Through IM Gateways in ColdFusion MX 7</title> <link>http://www.macromedia.com/devnet/coldfusion/articles/imgateway.html</link> <description>Learn the fundamentals of gateway apps as you build a sample chat application that monitors your ColdFusion server status</description> </item> </channel> </rss>

RSS で項目や記事などのリスト指向の情報が保持される方法に注目してください。RSS は同じような項目を大量に交換するように設計されていますが、簡単にするために、上記の例では 2 つの項目しか含まれていません。項目により情報の "チャンネル" が構成されます。チャンネルはタイトル、リンク、および説明を表します。各項目はデベロッパーセンターで発行される 1 つの記事を表し、記事のタイトル、記事へのリンク、および短い説明が子エレメントとして定義されています。さらに、各記事の筆者、公開日、主題に対応したエレメントを追加することもできます。これについては、次回の記事で説明します。ここまで、XML を適切に形成するにあたって必要なもの、つまり適切なシンタックスにするためのルールについて説明してきました。XML に精通するにつれ、XML DTD (Document Type Definitions : ドキュメントタイプ定義) と XML スキーマについても理解しておく必要があります。これらは XML ベースの言語を作成し使用するのに役立つルールです。DTD では、XML ドキュメントで使用できる正当なエレメントを指定します。DTD を使用した XML ドキュメントの検証方法の詳細については、W3Schools のチュートリアル*を参照してください。XML スキーマは、DTD を XML ベースのバージョンにしたものです。

次の段階

この記事は、XML の入門にすぎません。テクノロジーの総合的な説明書でも XML ベースのアプリケーションを開発するための完全ガイドでもありません。XML に関するユーザーの知識を補足するものです。また、Web 開発における XML のさまざまな使用方法を見つけることができるよう、次のサイトを紹介します。

  • World Wide Web Consortium が推奨する XML 1.0 の公式仕様*です。
  • 有効な XML ドキュメントを作成するには、ドキュメントタイプ定義*および XML スキーマ*について理解しておく必要があります。

その他のチュートリアル

  • W3 Schools の「XML Tutorial*」では、名前空間や XML でのデータベースの利用など、XML の基本から高度な概念まで説明しています。
  • 「RSS Tutorial for Content Publishers and Webmasters*」には、RSS の基本情報、および独自のフィードを構築する方法が記載されています。このチュートリアルには、RSS フィードの作成、検査、集約のための参考資料とツールも豊富に掲載されています。
  • デベロッパーセンターの記事*には、Macromedia の RSS フィードの取り込み方法に関する Mike Chambers の説明があります。

既に XML を使用している場合は、W3 Schools の XML バリデータ*で、自分の XML ドキュメントが適切に形成されているかどうかを判別できます。

次回の記事では、XML データをフォーマット化および表示するための言語である XSL を紹介します。ここから参照してください。将来の記事では、Dreamweaver 8 で新しい XML および XSL 機能を使用する方法、Dreamweaver 8 を使用して自分のサイトに RSS フィードを取り込む方法、およびサーバーサイドで XSL 変換する場合のサーバーの設定方法についても説明します。引き続きご利用ください。Dreamweaver 8 の先行注文の受け付けは既に始まっています。InterAKT Online の Macromedia アフィリエイトプログラム*からお申し込みいただくと、ImpAKT を無料で*ご利用いただけます。

More Like This

  • XSLの概要
  • Creating a scoreboard in Spry in five easy steps
  • Creating a Spry XML data set
  • XML in the real world
  • Managing multiple subscriptions in PHP
  • Creating dynamic tables with the Spry framework
  • Marking up your site for easier redesign in five steps
  • Creating and consuming ColdFusion components and web services with Dreamweaver CS4
  • Creating user-defined functions for ColdFusion 8 in Dreamweaver CS4
  • Creating a ColdFusion upload page in Dreamweaver CS4

製品

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • モバイルアプリ
  • Photoshop
  • Touch Apps

ソリューション

  • デジタルマーケティング
  • コンテンツオーサリング
  • Web Experience Management

業種別ソリューション

  • 教育
  • 金融機関

サポート

  • ヘルプ&サポート
  • 注文と返品
  • ダウンロードに関するヘルプ
  • ユーザー登録に関するヘルプ

ラーニング

  • ADC: Adobe Developer Center
  • Adobe TV
  • Design Magazine
  • Photoshop Magazine
  • Focus In

ご購入方法

  • アドビストア
  • アカデミックストア
  • アドビライセンスストア
  • ボリュームライセンスについて
  • 販売パートナー
  • キャンペーン情報

ダウンロード

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

会社情報

  • プレスルーム
  • パートナープログラム
  • 企業の社会的責任(英語)
  • 採用情報
  • 投資家の皆様へ(英語)
  • イベント&セミナー
  • Legal(英語)
  • セキュリティ
  • お問い合わせ
国・地域および言語の選択 日本(変更)
国・地域および言語の選択 閉じる

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

利用条件 | プライバシーポリシーとCookie (更新)

Reviewed by TRUSTe: site privacy statement