- ベストアンサー
XMLとHTML
XMLとHTMLについて。 両者はどのよに異なるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
XMLもHTMLも「マークアップ言語」と言われていて、その前進となったのがSGMLです。 で、マークアップ言語というのは、文章の構造をパソコンにもわかりやすくしてやるための言語です。 ・・・というと難しく聞こえますが、一冊の本に例えるとわかりやすいと思います。 例えば、小説なんかだと、「表題・章・節・段落」なんかに分けられますよね。 また、「状況を説明した文」とか「登場人物の会話」とかにも分解することが出来ます。 しかし、パソコンは言語を理解出来ませんから、パソコンにも分かるように「マーク」を付けてあげる必要があります。 この「マーク」が所謂「タグ」で、「Pタグは段落を表す」とか「H1は一番目の表題」などなどです。 パソコン(ブラウザ)は、この「タグ」を参考にして、「Pタグが合ったから段を変えて表示しよう」とか、「H1は一番目の見出しなんだから少し目立つようにしてみよう(※)」とか判断するわけです。 (※Hタグは、本来は「見出し」という意味であって文字の見栄えを変更するタグではありません。ただ、各ブラウザメーカの善意(?)で見栄えを変えているだけです) SGMLというのは、パソコン黎明期に作られた規格です。 主に、出版関係者なんかで使われていました。 で、HTMLというのは、それをネット通信でも使えるように再整理された規格です。 HTMLは「マークアップ言語」ですから、文章の構造を考えて作られていきました。 しかし、ブラウザ競争の激化やJavaやFlashなどの新しい技術がどんどん取り入れられたり、その一方で携帯端末などのような機能が制限される環境で使われたりするようになっていきました。 技術開発にあわせて改訂を繰り返してきたHTMLでしたが、その度に「あっちを立てればこっちが立たず」な状況が生まれたりしてました。 また、各ブラウザメーカーが色々と「専用タグ」とか作って拡張されたりしていました。 特に、「文章の構造」を示す「タグ」と「文章の見栄え」を示す「タグ」とがごちゃ混ぜになっていきました。 そこで、「文章構造」と「見た目の構造」を厳密に分けようという考えが生まれてきます。 そうして出来たのが「CSS(カスケードスタイルシート)」です。 さらに進んで、「もう少しシンプルで拡張性のある仕様にしよう」という機運も高まってきます。 そうして生まれたのが、「XML」と「HTML」を融合させた「XHTML」です。 では、「XMLとは何か?」と言われると、SGMLをシンプルで拡張性のある仕様に整理されたモノです。 SGMLというのは、元々WEB環境のみを意識して作られたワケではなく、様々なシーンで文章を構造的に表現出来るように作られた規格です。 それと同じように、XMLもWeb環境以外の事も想定して作られています。 例えば、データベースを構築したり、検索しやすいテキストファイルを作ったりなどです。 下記に、それぞれの比較した違いを纏めてみます。 ○HTML ・規格策定団体であるW3Cによって「タグ」が決められている ・文章の階層構造を必ずしも表現していない ・終了タグを記述しなくてもよい ・大文字と小文字の区別をつけない ○XML ・「タグ」を自由に定義出来る(日本語のタグも使えます) ・文章の階層構造を表現できる ・終了タグを必ず記述しなければならない ・大文字と小文字の区別を付ける ○XHTML ・HTMLなので、「タグ」はW3Cによって決められている ・HTMLなので、従来のWebブラウザでも問題なく見られる ・XNLでもあるので、大文字小文字は区別する ・XMLでもあるので、終了タグは必ず記述する ・XMLでもあるので、MathMLやSVGなどのXML関連規格の言語も埋め込める といった感じかと思います。 まぁ、XMLもHTMLもSGMLという規格の子供であり、XHTMLはXMLとHTMLを掛け合わせて作った孫ってところでしょうか。
その他の回答 (3)
- Yune-Kichi
- ベストアンサー率74% (465/626)
「どんなタグをどんな順序で使うのか」を決めるための言語がSGMLやXMLで, SGMLやXMLで決められた順序で「文書」を書くための言語がHTMLやXHTMLだと考えておけば, 通常の会話で問題になることはないと思います。 両方ともマークアップ言語ですし,初期の頃に比較されたこともありHTMLとXMLで比較してしまうことが多いですが, XMLはHTMLよりも一段階メタな言語になります。 HTML 1.0の時点は資料がないので解らないのですが,少なくともHTML 2.0の時点において,HTMLはSGML応用系になりました。 XMLはそのSGMLを元に,使いにくい機能をなくしたものになります。 そして,XHTMLという,HTMLをXML応用系として移植したものが存在します。 SGML/XMLは,HTML/XHTMLなどで使う語彙 (pなど) や枠組み (要素の親子関係,タグの開始文字等) を定義します。 このため,SGML/XMLは文書にはなりません。 つまり,「SGML文書」「XML文書」というのは存在しません。 ただし,これらの枠組みを用意することは自由に作成することができます。 それに対して,HTMLやXHTMLはそれぞれSGML / XMLで語彙や枠組みを定義しています。 このため,「HTML文書」「XHTML文書」というものが存在します。 ただし,枠組みが決定しているために,枠組みを変更することはできません (変更するとHTML文書やXHTML文書ではなくなる)。
- KI401
- ベストアンサー率53% (44/82)
XMLは汎用の拡張可能マークアップ言語で、XSLTを用いることで自由にデータフォーマットを変えることができる。例えばXMLファイルに指定のXSLTを施すことで、HTMLファイルを作ることもできるし、CSVファイルにすることもできる。データ構造が単純で分かりやすく、プログラムで扱いやすいため、企業が独自のデータ管理に用いたりもするくらいだ。 一方でHTMLはWebページ記述用のマークアップ言語。逆にいえば、Webページを記述する以外の用途はない。まずこれが大きく違う。そしてもう一つ大きく違うのが、HTMLでは略記法などが多く認められていることだ。 そしてXHTMLは、HTMLのXML版だ。XMLであるために、HTMLで使うことのできる略記法をXHTMLで使うことは許されない。例えば改行を表すbrタグは、HTMLでは<BR>と記述できるが、XHTMLでは<br />として空要素を明示し小文字にしなければならない。 ここで重要であるのは、XHTMLはXMLでもあるため、XML同様にXSLTで他のフォーマットの文書へ変換することができる点だ。HTMLでは略記法などの文法上のノイズのために機械的処理が比較的困難だったが、XHTMLはプログラムで処理することがより簡単だ。 もっと詳しく知りたければググッてくれ。では。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
XMLはSGMLのひとつですが、HTMLはSGMLをヒントにして作成されたもの。 XHTMLは、そのHTMLをXMLにあわせて書き直しされたもの。 HTML4.01--->XHTML1.0 というところかな。 NotSGML SGML