Extensible Markup Language
また内容のない「空要素」も混合内容ではない。一つの要素の内容がいくつかの子要素だけから構成されるものも、混合内容ではない。
↑ ただし、Binary XML の試みは、XML文書のバイナリ表現を使うことでこうした問題を軽減するべく努力している。例えば、Javaによる Fast Infoset 標準のリファレンス実装では、構文解析 (パース) の速度は Apache Xerces Java と比べて10倍速く、Javaによる最も高速なXMLプロセサの一つであるPiccolo driver と比べて4倍速い。
↑ XMLの汎用性とそれに伴う重さはしばしば揶揄の対象とされることもある。IP、TCP、UDPをXMLで定義するというジョークRFC ( RFC 3252 ) が存在する。
↑ 階層型モデルは木構造の固定的な単一の視点による見方しか提供しない。例えば、役者が映画の下位に位置づけられるか、映画が役者の下位に位置づけられるかのいずれかであり、双方の視点を両立することはできない。
↑ 例えば多義語を参照
XML宣言を含んだXML文書の例を示す。
XML仕様では、XMLプロセサ (XMLパーサ、XML文書の構文解析器) が、Unicodeの文字符号化方式であるUTF-8およびUTF-16で記述されたXML文書を処理できることを、必須条件としている (UCS-4は必須条件ではない)。XMLプロセサは、UTF-8およびUTF-16の他にも、いくつかの任意の文字符号化方式の文書を処理できるようにして良い。例えば、UCS-4、EUC-JP、Shift_JIS、EBCDICなどの文字符号化方式の文書を処理できるXMLプロセサが、広く普及し、使われている。
コメントはXML文書の木構造のどこにでもおくことができる。 コメントは、"<!--" で始まり、"-->" で終わる。 なお、コメント内に "--" を含むことはできない。
コメントを含むXML文書の例を示す。
内容のない要素を空要素 (empty element) という。XMLでは、空要素を表現するために特別な構文を使うことができる。開始タグを書きその直後に終了タグを書くこともできるが、その代わりに空要素のタグを使うことができるのである。空要素タグは開始タグと似ているが、閉じ括弧の直前にスラッシュをおく。
次の3つの例は、XMLでは同等である。
空要素タグは属性を含むことができる。