• ベストアンサー

HTMLとXMLの違いがよくわからないのですが

HTMLとXMLの違いがよくわからないのですが、 HPを作る分にはHTMLの知識があれば十分ですか? XMLも必要なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

さかのぼると、SGMLという軍事目的で定められた規格があります。たとえば、ある軍艦のWordで作成されたマニュアルを数十年経って読もうとしたら、すでにこの世に、当時の古いWordを扱えるコンピューターが無かったら・・。そのために純粋なテキストだけで作成されたデータに、段落や題字を示すタグと、それぞれのタグがどういう意味であるかなどをも規定--「インスタンス・DTD・SGML宣言」--しておけば、何年後でも使えます。  ただ、SGMLは膨大で複雑なため、簡略化されたXMLが考案され広く使われています。  一方HTMLは、このSGMLを参考に---ときもりではない---作られたもので、後になってSGMLらしくはなりましたが---、DTDという文書規定とタグ付けされたテキストのセットで利用されるものです。  一時期、HTMLはHTML4.01を最後にXMLに合わせて書き直された、XHTMLに完全移行する予定でしたが、やはり複雑で受け入れられにくく、結局HTML5として再び歩み始めることになりました。  XHTML(XMLの文法で書かれたHTML)とHTMLには、いくつか違いがあります。 ・XHTMLは、要素名、属性名は小文字で書くこと ・XHTMLは、属性値は""で囲むこと ・XHTMLは空要素は/>で閉じること   空要素とは、タグに括られた内容を持つ得ない要素--IMG,BR,HRなど  が大きな違いです。この違いはXMLとの比較にもあてはまりますが、XMLはタグを自在に設定できるのが異なります。 <document>  <midashi>なんたらについて</midashi>  <p>なんたらかんたら・・・・</p>  <photo>   <path>/images/photo/abc.jpg</path>   <data k="date">2112.12.01</data> ・・・とか。  ブラウザで表示するためには、別途スタイルシート(XSLT)が必要ですが・・  ⇒XML画像データををHTMLで簡単に表示する方法 - HTML - 教えて!goo( http://okwave.jp/qa/q7779854.html )  ⇒XSL変換したが画像が表示できません - HTML - 教えて!goo( http://okwave.jp/qa/q7782480.html )  XMLとHTMLの関係は、上記を見れば分かるでしょう。  なお、次期バージョンのHTML5には、XML(XHTML)として記述する方法もあります。  ⇒Polyglot マークアップ: HTML 互換の XHTML 文書( http://standards.mitsue.co.jp/resources/w3c/TR/html-polyglot/ ) [HTML4あたり] ・HTMLとXHTMLは異なる。一方に従えば一方ではエラー ・XHTMLはHTMLをXML文法であらわしたもの ・XMLはHTMLのみならず、様々なものに使われる。最新のwordやexcelのファイルはXMLです。 [HTML5] ・HTMLであってもXML的な書き方が出来る。エラーにならない ・mathMLやSVGのようなXML要素をそのまま埋め込むことができる。

kpermiogzj
質問者

お礼

回答ありがとうございました。

その他の回答 (2)

  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.2

XMLはドキュメントの属性をタグによって意味づけるもの。簡単に考えれば情報を整理して、簡易DB見たいに使うなどが主な使い方です。 そもそもの出だしはCSVファイルなどでは数値も文字も同じ文字データーとしてしか記述されておらず、たとえばExcelなどで読み込むと文字で書いた数値の前ゼロが取れてしまうなどの不具合や。文字の列にたまたま数字が入ってるとそこだけ数値として扱ってしまうとか不都合があったわけです。 そこでちゃんとこれは数値、これは文字とか属性も記述してしまおうという事が考えられたわけです。 さらに規格と言う面で、フォーマットを整えるというドキュメンテーションの正規化にも使おうとしたわけです。 その後XMLは今や一般に浸透したのですが、その理由は昔のWordやExcel形式で文書を保管した場合その後何年もたつと読めなくなるという心配があったからです。バージョンやITの進化で。 今はWordもExcelもXMLで保管されてます。試すには、docxとかexlsxとかの拡張子を..zipに変える。それをクリックすると圧縮フォルダーにXMLがいっぱい詰まってます。もしWord。Excelのファイルが壊れた場合この方法で取り出す事が出来ます。 つまりマイクロソフトとしてはXMLに対応できないと社会的にWord、Excelは使ってもらえなくなると考えたからです。 で、HTMLはあくまでもWebの言語の元であり最近ではHTML5が主流。これは絶対に勉強する必要はあると思います。その後スクリプトで連携する事にもなるでしょう、そのときにはXMLの扱いが必ず必要になります。

kpermiogzj
質問者

お礼

回答ありがとうございました。

  • noranuko
  • ベストアンサー率46% (620/1332)
回答No.1

HTML=HyperText Markup Language(HyperTextをマークアップするための言語) XML=Extensible Markup Language(拡張可能なマークアップ言語) です。 XMLのほうがより広い概念です。 というかXMLそのものは意味を持ちませんし、それだけでは何にも使えません。 (単純に文法や構造を定義しているだけ) XMLをベースに誰かがスキーマ(タグの意味)を作って初めて使い物になります。 例えばXMLベースのHTMLにXHTMLという規格があったりもします。 ちなみにXHTMLでないHTMLはSGMLというまた違うマークアップ言語をベースにしているので、 ちょっと文法が違います。 Webサイトを作るのに必須なのはHTMLですが、 XMLが不必要かというとそうでもないです。 単に固定ページのサイトであればHTMLが使えれば十分なのですが、 データベース使いたいとかAjax使ってインタラクティブに、RSSの配布とかいろんなことをやろうと思うと、 XMLだけでなくJavascript、Perl、データベース等いろんな知識が必要になってきます。

kpermiogzj
質問者

お礼

回答ありがとうございました。

関連するQ&A

専門家に質問してみよう