アクセシビリティ

Macromedia Flash サポートセンター

XMLについて


XMLはデータの構造化と記述のためのマークアップ言語です; 例えば、温度、風速、雲の量などの気象状況を保持しているXMLドキュメントを作成するために、以下のようにそれらの情報を記述する独自のタグと属性を作成することができます。

<weather_report>
    <temp>76</temp>
    <wind direction="SSE" speed="12 knots"/>
    <cloud_cover>Sunny</cloud_cover>
</weather_report>

見てわかる通り、XMLはHTMLに似ています -- どちらも名前のついたタグと属性から成っています -- が、XMLは全く別の目的を持っています。HTMLタグはWebブラウザに対して、HTMLドキュメントに含まれるテキストと画像をどうフォーマットするかを伝えます。ところがXMLのタグと属性には、そのXMLの作者であるあなたが望むとおりどんな意味も持たせることができます。

XMLデータの解釈や表現はそれを処理するアプリケーションに任されます。例えば、あるMacromedia Flashムービーは上記の気象データをプレーンテキストで表示します: あるいは、温度計のアニメーションと風速の記録をグラフィカルに表示するものがあるかもしれません。このように内容を表示と分離しておくことはXML開発の共通のテーマであり、別々のアプリケーションが同じ情報を別々の方法で表示することを可能にします。

整形式の (Well-formed) XML

Webブラウザは不正なHTMLドキュメントを許容しています; 例えば、パラグラフタグ( <p>) を </p> タグで閉じるのを忘れたり、あるいは属性値に引用符をつけるのを忘れたり( <img src="file.gif"> ではなく <img src=file.gif> にするなど)しても、ドキュメントはちゃんと期待通りにWebブラウザに表示されます。なぜかと言えば、HTMLがあらかじめ定義されたタグや文法の集合から成っており、Webブラウザが欠けているタグを推測することができるからです。

しかし、XMLドキュメントにおける <p> タグは、事実上どんな意味にもなり得ます。XMLを読むプログラムは特定のタグの意味を全くあらかじめ想定できず、例えば閉じタグのない開始タグに出会ったときはエラーを生成します。

従って、XMLドキュメントの生成とフォーマットにおけるルールは、XMLパーサによって厳密に規定されます。Macromedia Flash PlayerのXMLパーサでも同じです。これらのルールに適合しないドキュメントは不正なものとみなされ、Macromedia Flashでは使用できません。XMLのフォーマット規則のリストとしてはwww.xml101.com/xml/xml_syntax.asp があります。

XMLドキュメントの中の空白スペース

HTMLとXMLのもう一つの違いは、空白スペースの扱いです。HTMLドキュメントは、以下のように、コードを人間にとってより読みやすくするために、タブや復帰コード、その他の空白スペース文字などがタグや行の間に含まれていることがよくあります。

<table>
    <tr>
        <td>Hello</td>
    </tr>
</table>

WebブラウザやHTMLパーサーは、空白スペースがドキュメントの構造や意味において重要なものではないことを「知って」います。しかしXMLパーサーではこのようにあらかじめ想定しておくことができません。

デフォルトでは、Macromedia Flash PlayerはXMLドキュメント内の全ての空白スペースに意味があるとみなします。この振る舞いはXMLオブジェクトの特別なプロパティである ignoreWhite を設定することで無効にすることができます。これについては「XMLドキュメントをロードする」のところでもっと詳しく検討します。ここでは、XMLパーサーとHTMLパーサーでは空白スペースの扱いが違うということだけ気にとめておいてください。

翻訳: 株式会社バスキュール