Summary: This module describes XML (eXtensible Markup Language) and the rules that govern its usage. It also explains what a well-formed and valid document is.
XML(eXtensible Markup Language)は、World Wide Web Consortium(W3C)によって定義されたメタマークアップ言語です。厳密に言えば、それ自身はマークアップ言語ではなく、むしろマークアップ言語を生成するルールの集まりのようなものです。私たちの目的のために、マークアップ言語は、情報伝達のためにテキストをタグで囲む言語(例えばHTML)です。Connexionsプロジェクトで使用されているマークアップ言語、CNXMLはXMLで書かれた言語の1つの例です。 他の多くの例がW3Cのサイトにあります。CNXMLの記述例です。
<para>
This is a paragraph in <term>CNXML</term>. Notice that the markup
contains tags that express the meaning of the text.
</para>
<para>と</para>がテキストを含んでいるタグです。XMLでは、タグは<と>で記述されます。普通タグはペアになります。開始のタグが<tagname>のようになり、終了のタグが</tagname>のようになります。
XMLでは、コンテンツからプレゼンテーションを分離することができます。例えば、HTMLには<u>や<i>などのタグがあります。前者はテキストにアンダーラインを付け、後者はテキストをイタリック体にします。これはフォーマットしているだけであり、コンテンツを説明してはいません。XMLではコンテンツの内容を表すため、あなたの好きなタグのタイトルを定義することができます。例えば本のタイトルを表すために、<book>というタグを作成することができます。そしてスタイルシートでイタリック体にしたり、アンダーラインを引いたりできます。そして、そのタイプのコンテンツのプレゼンテーションを変更したい時、スタイルシートの1箇所を変更するだけで行うことができます。また、ドキュメントの中身を伝えるタグを作成するなら、探すよりいい方法があります。例えば、Authorタグを見ることによって、ドキュメントのAuthorを探すかもしれません。
XMLには、CNXMLを含むすべての言語に適用されるいつくかのルールがあります。ドキュメントがこれらのルールを満たすなら、きちんと形成されてると言えます。XMLドキュメントはきとんと形成されていなければなりません。
<module>で始まり、</module>で終わるように。簡単な方法があります。タグが他のタグを含まないなら、開始のタグの「>」の前に「/」を入力することで、終了のタグを削除することができます。例えば、<media>と</media>は<media/>と簡略化することができます。
<b>red <i>and</i>
blue</b>は正しくて、<b>red <i>and</b>
blue</i>は正しくありません。なぜなら後者は入れ子になっていないからです。
<module id="m0001">は正しくて<module id=m0001>は正しくありません。
<?xml version="1.0"?>ドキュメントのエンコードや、他のファイルを読み込むかどうかなどの別の情報も含めることができます。
<html>と</html>は他のすべてのタグを囲まなくてはなりません。ドキュメントの最初にあり、タグで含まれていないものもあります。XML宣言はその例です。
特定のXML言語のタグに適応されるルールを定義することは可能です。これらのルールは異なった方法で定義することができます。もっとも一般的な方法はDTD(Document Type Definition)を使用することです。その言語のルールに従う全てのドキュメントは、有効であると言えます。ドキュメントは有効なXMLになる必要はありませんが、一般的にそれはいい考えです。
entityは拡張文字を表示するためのものです。それには基本的なフォームがあります。アンパーサンドで始まり、セミコロンで終わります。例えば&は&という文字を表示するためのものです。もしソースファイルに&と入力すると、ブラウザでは&が表示されます。これにはさまざまな種類があり、全てのXMLファイルで使えます。例えば&(&)、<(<)、>(>)、"(")、&apos(')などです。これらはHTMLで定義されているものと同じです。これらの基本記号に加えて、DTDを使用することにより、自分自身の記号を定義することができます。これらの定義は他のシンボルを示したり、長いテキストへのショートカットとして利用できます。
Unicodeの文字もまたXMLに記述することができます。Unicodeは全ての言語の全ての文字のための、ユニークなコードを定義するためのプロジェクトです。UnicodeはASCIIの一部ではないシンボルを使用するとき、とても役に立ちます。
Unicodeのentityには、#があります。したがって†のようになります。もしくはコードが16真数で書かれているなら、πのようにxがつきます。