- HTMLには、フォーマット、構造、セマンティクスなどを示す固定タグがあり
ます。XMLはメタマークアップ言語であるため、ユーザーが作成でき、より柔軟です。
例:本の情報をHTMLで定義します。
<dt>畅销榜单</dt>
<dd>NO.1</dd>
<ul>
<li>书名:《悲惨世界》</li>
<li>作者:雨果</li>
</ul>
同じ表現情報を次のようにXMLで記述することができます。
<BookList>畅销榜单</BookList>
<top>NO.1</top>
<info>
<BookName>书名:《悲惨世界》</BookName>
<BookAuthor>作者:雨果</BookAuthor>
</info>
上記<dd> </dd>
は<BookList> <BookList>
タグ、つまりタグである場合があります。
XMLを使用すると、コードが読みやすくなり、カスタムタグを使用してより使いやすくなることがわかります。
Webページ表示機能の場合、HTMLはXMLよりも強力です
が、ファイルアプリケーションに関しては、XMLはHTMLよりも強力です。
- 識別子の入れ子が異なります
次のサンプルプログラムフラグメントは、HTMLでよく見られます
<t><foo> example <t><foo>
このコードのネスト順を注意深く観察してください。
これは明らかにXMLでは間違っているため、次のように記述する必要があります。
<t><foo> example <foo><t>
- 属性値の引用符の使用は異なります
。HTMLでは、属性値は引用符なしで使用できます。次に例を示します。
<font color=red>
これはXMLでは誤りであり、次のように表現する必要があります。
<font color="red">
- 空白文字の異なる処理
コード例1:
<author>雨果</author>
コード例2:
<author>
雨果
</author>
HTMLの場合、パーサーは文中の空白を削除するため、コード1とコード2の実行結果は同じです。
ただし、XMLの場合、パーサーはアプリケーションに忠実に渡されて理解されます。そのため、パーサーはコンテンツ内のすべての空白文字を保持し、変更せずにアプリケーションに渡しますが、要素タグと属性値の空白は削除されます。