• ベストアンサー

HTMLとXHTML

HTMLとXHTMLがあるようですが違いはどこなのでしょうか? HTMLは経験が多少ありますがXHTMLは経験がありません HTMLはリンクやテーブル、画像リンクなどは経験ありますが インライン要素やブロック要素、meta言語などは今本見ている状況です これからきっちりHTMLはやるにはXHTMLを覚えるべきでしょうか? XHTMLはXMLを使うのでMathMLやSVGなど他のXML文書を埋め込むことができる らしいのですがどのような場面で使うのでしょうか?

  • HTML
  • 回答数5
  • ありがとう数3

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

  • ベストアンサー
回答No.5

> XHTMLはXMLを使うのでMathMLやSVGなど他のXML文書を埋め込むことができる > らしいのですがどのような場面で使うのでしょうか? MathMLは分数やΣなどの1文1行では表せない数式を書く為のルールですので、数学関係の文書を書くときにしか使いません。 SVGの特徴は、その内容がテキストファイルであるということですので、 グラフを書くときなどは、画像編集ソフトを使わずにテキストエディタで数字を入力すると、 勝手にグラフ化されて表示される、というメリットがあります。 もちろんグラフだけではないのですが、最も有効な手段として思いつくのはこれくらいですね。 SVGはブラウザが対応していないことが多いので、現状では、gif、jpeg、pngなどのフォーマットが使われることが多いです。 XHTMLのメリットはXMLと同様、独自の拡張が自由にできる、ということですが、 独自の拡張を行うと、本来HTMLがめざしてきた「どんなブラウザでも同様に表示できる」という最大のメリットが失われますので、私は推奨しません。 それはXHTMLではなくXMLで書くべきだと思います。 > これからきっちりHTMLはやるにはXHTMLを覚えるべきでしょうか? プロとしてウェブページ制作をやっていくなら、XHTML 1.0 StrictからHTML4.01 Frameset、MS-HTMLなどまで何種類か覚えておく方が、仕事の幅は増えます。 (ただし、「どんなブラウザでも・・・」という条件が付く為、XHTMLの拡張機能は不要) ウェブページではなく、自分の会社内で使う為のシステム制作に使うのであれば、むしろXMLとXSLの方が重要ですね。むしろHTML、XHTMLは不要になるんじゃないでしょうか。 個人の趣味などで作るのであれば、 自分が使いたいバージョンのHTML、XHTMLを覚えればそれで十分だと思います。 あと5年もすれば、XHTML2.0やHTML5に対応したブラウザが出てくると思います。 HTML5はMathMLやSVGの他に、Javascriptやプラグインも含んだページを作ることが想定されていますが、 XHTMLはあくまで「文書」を作ることを想定して作られます。 小説サイト、解説サイトなどであればXHTML、 ゲームや音楽、動画などであればHTMLというのが良いと思います。 ブロック要素やインライン要素は、どちらかというとスタイルシートが関係する内容ですので、 ブロック要素=前後に改行が入る(<h1>や<p>など) インライン要素=改行が入らない(<a>や<em>など) ということだけ覚えておけば良いと思います。

その他の回答 (4)

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

HTMLは、SGMLとよく似たもの。 XHTMLは、SGML適合のXMLで書かれたHTML HTML4.01Strictで、 1) すべてのタグや要素は、小文字で統一する。 2) 必ず終了タグを書く。<p></p>とか 3) 属性の値は、ダブルクォーテーション( " )で囲む。width="80"とか 4) 要素同士は入れ子にする。 として書いたものを 5) 空要素は、"/>"で終わること<img src**** />とか<br />  の変更で、XHTML1.0に変更できます。 たとえば、XHTMLでは、 <body> <h1>XHTMLとは</h1> <oruka:gaiyou>ここではXHTMLについて説明する</oruka:gaiyou> <oruka:honbun>・・・・</oruka:honbun> なんて、要素を拡張することが出来る(Extensible)のが、最も違うところ!!

回答No.3

プログラマであればXHTMLは必須です。 あとどんな場面で使うのかですが、webシステムではXHTMLを常に使用しています。

noname#83877
noname#83877
回答No.2

わたしも今のところあまりメリットを感じていませんが、xhtmlはxmlとxsltを使った時に便利なんじゃないかと思います。 xmlは自分で好きなタグを使ってタグのルールに縛られずに自由にマークアップでき、xsltはそれらを整えてhtmlの形に書き出すことができます。 ようはデータベースを作り、それをhtmlにすることが簡単にできます。 その時に、xhtmlはxmlでもあるので何らかのメリットが得られるのではないでしょうか。 私も勉強不足なのであまりたいしたことは言えませんが、現在普及しているIEはmimeタイプの関係上これらが上手く使えないので使用を諦めました。 ブラウザがもう少し対応してくれるまで恩恵は受けられないかもしれませんが、せっかくなのでxhtmlでいいと思います。 htmlとの使用面での違いは、しっかり書き込むのであれば大差ありませんよ。 もう一つはxmlなので、互換性が高く多くのソフトで開けるようになります。 これが地味に大きいです。

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

XHTMLはXMLという文書規則をもったHTMLだと思えば問題ないよ。 XHTMLを覚えるべきかどうかというのは これからHTMLを一体どういう状況で何の目的に使うのかで変ってくるよ。 趣味ならどうでも良い。 仕事なら覚えた方が対応範囲が広がるので仕事を取りやすいね。 更にそれでどんなものを扱うか…だよ。

関連するQ&A

  • XHTML1.1+MathML2.0+SVG1.1をブラウザで表示したい。

    XHTML1.1 MathML2.0 SVG1.1 XML1.0 これを含むコンテンツをブラウザで表現する方法を探 しています。 XHTMLを文書の全体的な配置や意味の定義に使い、色や、配置にCSSを使い。 数字表記にはMathMLを。 ベクター画像にはSVGを使用し。 他のプログラムが使用するデータをXMLとして内包するページを作成しようと思っています。 XML1.0に関しての仕様は大体抑えたので、HTMLをXMLで再定義したものであるXHTML1.1でウエブページを作ろうとしたところなぜか巧く表示できません。 ページは"整形式XML"としては正しく作成しました。 ブラウザはIE6.0です。 使用する前にパラメータ エンティティを定義しなければなりません。リソース 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd' の実行エラーです。ライン 85、位置 2 %xhtml-prefw-redecl.mod; -^ というエラーメッセージが返されました。 ファイル拡張子は、xmlとしました。 ページは、人間だけでなく、他のプログラムへ対しても意味を持つようにしたいので、中にXMLのデータを挟みこめることは必須です。 この条件での、ウエブページ制作を詳しく解説しているサイトは無いでしょうか?

    • 締切済み
    • XML
  • XHTMLとHTMLの違いについて

    XHTMLのHTMLの違いについて教えてください。 勉強するものの、これといった違いが判らずにこまってます。 (今のところ、HTMLとは記述方式が違うんだよ~とか、XMLの宣言が必要なんだよ~、ということはわかったのですが) (参考したURL) http://www.atmarkit.co.jp/fxml/askxmlexpert/022xhtml/22xhtml.html HTMLとXHTMLの違いとして以下の点が挙げられていることがわかりました。 ----------------------------------------------------------------- 1.文書は整形式でなければならない 2.要素名及び属性名は小文字でなければならない 3.非空要素には終了タグが必要である 4.属性値は常に引用符で括られなければならない 5.属性の省略化はしてはならない 6.meta、hr、br、img などは、空要素として書く 7.属性値内での改行を含む複数の空白は1つと見なす 8.スクリプトおよびスタイル要素の定義が異なる 9.要素の入れ子などSGMLの排除機能を再現できない 10.‘id’および‘name’属性をもつ要素は、‘id’属性を使用する ----------------------------------------------------------------- とあるのですが、違う部分っていうのは「こういった定義部分だけ」であって、動作として大きな違い「ここが違うんだ」といった部分はないのでしょうか? 「書式が厳密になっています。」言葉から、XHTMLは「HTMLをより厳密に書くもの」ということなのでしょうか? また、10番目の、 「‘id’および‘name’属性をもつ要素は、‘id’属性を使用する 」について、イメージできなかったのですが、一体何のことを言っているのでしょうか? 例えば、JavaScriptを使用して、要素を操作する場合は、 getElementById("ID名")にて、操作を行うべきである、と言っているのでしょうか?

    • ベストアンサー
    • HTML
  • XHTMLの必要性について質問!

    XHTMLを調べると次のような文章がありました。 ------------------------------ <XHTMLとは、Webページを記述するためによく使われるHTMLを、XMLに適合するように定義し直したマークアップ言語。W3Cが仕様策定を行っている。 もともとHTMLはXMLの親にあたるSGMLから派生した言語で、Webブラウザメーカー主導で独自の拡張が続いてきた。このため、HTMLはXMLとは一部整合性を欠く言語仕様となっているが、両者の違いはある程度吸収できる範囲のものであるため、従来のWebブラウザでも問題なく見られ、かつXMLに準拠した文書を作成する言語仕様としてXHTMLが作成された。 HTMLをXML準拠のものに更新した理由として、インターネットをはじめとしたオンラインでのデータの送受信にXMLが使用されることを想定し、HTML文書もXML処理系で統一的に扱える環境を整える必要があったことが挙げられている。> ------------------------------- (質問1) この文面からすると、HTMLでも「従来のWebブラウザで問題なく見られる」と判断するのですが、どうしてXHTMLが必要なのかが解りません。 (質問2) 現在、HTMLでは不都合が生じているPCサイトがあれば、ご紹介願います。 (質問3) 今後、HTMLでは動作が出来なくなるのでしょうか? 以上。宜しくお願いします。

    • ベストアンサー
    • HTML
  • 推奨するHTMLの基本骨格

    まだ、HTMLのタグも知らない初心者です。 通常、基本骨格というとhtml・head・body要素からなりますが、推奨されているような基本骨格というのはどういうものでしょうか? 自分なりに調べてみると、 ---------------------------------------------------------------- HTML4.01Strictの場合 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="言語コード">「*1」 <head> <meta http-equiv="Content-Type" content="MIMEタイプ;charset=文字エンコード">「*2」 </head> <body> </body> </html> *1:要素内に使用している「言語コード」の言語を宣言(サーチエンジンのロボットに何語で書かれているか判別できる、文字化け防止) *2:文書を読み込むときに文書形式は「MIMEタイプ」、記述されている文字コードは「文字エンコード」という情報を、ユーザーエージェントに与える(文字化け防止) 言語コード:ja(日本語) MIMEタイプ:text/html(HTML4.01ではHTML文書としては、「text/html」以外のMIMEタイプの使用を禁止している) 文字エンコード:Shift_JIS(WindowsやMacでは「Shift_JIS」が主流) ---------------------------------------------------------------- XHTML1.0Strictの場合 <?xml version="1.0" encoding="文字エンコード" standalone="no"?>「*3」 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="言語コード" lang="言語コード">「*4」 <head> <meta http-equiv="Content-Type" content="MIMEタイプ; charset=文字エンコード" />「*5」 </head> <body> </body> </html> *3:スタンドアロン宣言はこの文書以外に参照すべきDTDがあるかどうかを指定するもので、XHTMLではどのバージョンでも「no」でよい。 *4:XHTML1.0では、XHTMLの環境に対応していないことへの配慮として、lang属性とxml:lang属性の両方を指定する。 *5:「*2」と同様。 言語コード:ja(日本語) MIMEタイプ:text/html(XHTMLの「MIMEタイプ」で推奨されているのは「application/xhtml+xml」だが、IE7でも対応し切れていないので、MIMEタイプは「text/html」にするしかない) 文字エンコード:Shift_JIS(WindowsやMacでは「Shift_JIS」が主流) ---------------------------------------------------------------- XHTML1.1の場合 <?xml version="1.0" encoding="文字エンコード" standalone="no"?>「*6」 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="言語コード">「*7」 <head> <meta http-equiv="Content-Type" content="MIMEタイプ; charset=文字エンコード" />「*8」 <title></title>「*9」 </head> <body> </body> </html> *6:「*3」と同様。 *7:lang属性はXHTML1.1では、後方互換の指定は全て非推奨のため記述できない。 *8:http-equiv属性はXHTML1.1では、HTML互換のため非推奨。 *9:head要素の中には、文書の題名を表すtitle要素が一つ現れなければならないので記述しなければならない。 言語コード:ja(日本語) MIMEタイプ:text/html(XHTMLの「MIMEタイプ」で推奨されているのは「application/xhtml+xml」だが、IE7でも対応し切れていないので、MIMEタイプは「text/html」にするしかない) 文字エンコード:Shift_JIS(WindowsやMacでは「Shift_JIS」が主流) ---------------------------------------------------------------- となりました。 また、XHTMLのMIMEタイプでXHTMLであってもブラウザが対応してないため「application/xhtml+xml」にはできないとありましたが、「application/xhtml+xml」が好ましいと書いてあるサイトもあって「text/html」とどちらが正しいのか分かりません。 また、「*8」は非推奨となっていますが、このmeta要素の部分の記述をしているところもあるので記述するのかしないのかはっきり分かりません。 この「推奨する基本骨格のHTML書式」(この言葉が妥当かは分かりませんが)に修正や追加するものがあったら教えてください。 回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTMLソースにXHTMLの混在は可能ですか?

    はじめまして。 早速ですが、 現状、サイトAとサイトBがあり、 サイトAは <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> で定義されたHTML文書で書かれており、 サイトBは <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> で定義されたXHTML文書で書かれています。 そして、サイトBのフッターにあるグローバルメニューをサイトAの方にも挿入・反映したいと考えています。 このような場合、HTML文書の中にXHTML文書を混在させることは可能なのでしょうか? 皆様のお知恵を拝借させてください。 宜しくお願い致します。

  • xhtmlについて

    xhtmlでは、『<div style="text-align:center;font-size:x-small;">文字</div>』といったように、ブロック要素内にインライン要素をまとめることも可能だったと思います。 この場合、文字サイズ指定もブロック要素内にあるわけですから、『<div style="text-align:center;font-size:x-small;"><p>文字</p></div>』といった具合に、ブロック要素を内包することも可能なのでしょうか? 回答お願い致します。

  • XHTMLの正しい書き方について質問です。

    WordPressにてHPを作成しています。 出力されたページをAnother HTML-lintでチェックしたところ、XHTML 1.0 Transitionalとして記述しているはずなのですが「HTML4.01 Transitional としてチェックしました。」となり、かなりの数のエラーが検出されてしまいました。 HP作成に関してかなりの初心者でして、何が悪いのかが分かりません。なにとぞご教授下さい。 /* ------------------------------------------------------------ ページソース最初の3行 ------------------------------------------------------------ */ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> /* ------------------------------------------------------------ 最初の3行に対するエラー内容 ------------------------------------------------------------ */ 8: line 1: 最初の記述が DOCTYPE宣言ではありません。 4: line 1: ここに <HTML> が省略されているようです。省略しないようにしましょう。 4: line 1: ここに <HEAD> が省略されているようです。省略しないようにしましょう。 2: line 1: ここに </HEAD> が省略されているとみなします。 9: line 1: <HEAD>~</HEAD> 内には <TITLE> が必要です。 1: line 1: <HEAD> と </HEAD> の間が空です。 4: line 1: <HEAD>~</HEAD> 内に <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="~"> が含まれていません。 4: line 1: ここに <BODY> が省略されているようです。省略しないようにしましょう。 5: line 1: メタ文字 `<` は `&lt;` と書かなければなりません。 5: line 1: メタ文字 `>` は `&gt;` と書かなければなりません。 9: line 2: DOCTYPE宣言は文書の先頭でなければなりません。 2: line 3: <HTML> の前に </BODY> が省略されているとみなします。 9: line 3: <HTML> を 1行目の <HTML>~</HTML> 内に書くことはできません。 5: line 3: <HTML> に他のHTML用の属性 `XMLNS` が指定されています。 5: line 3: <HTML> に他のHTML用の属性 `XML:LANG` が指定されています。

    • ベストアンサー
    • HTML
  • XMLとXHTMLはどちらを先に勉強するべきなのでしょうか?

    私はとあるウェブサイトの管理者なのですが、 あるときハイパーテキストマークアップ言語の最新版が「HTML」でなく「XHTML」になっていることを知りました。 ウェブサイト管理者として最新版の言語を覚えておいた方がいいと思ったのですが、 検索エンジンで調べてみた所XHTMLはXMLと関係がある(?)ようなのですが、そうなるとXMLも学ぶ必要があると言う結論に至ったのですが結局XHTMLとXMLはどちらを先に勉強するべきなのでしょうか? 私としてはXHTMLを学ぶに当たってXMLが必要ならXMLを先に学ぶべき、 XMLが必要ないならXHTMLを左記に学ぶべき、と言った形で回答していただければ幸いです。

    • ベストアンサー
    • XML
  • XHTMLがIEのみ文字化け(UTF-8)

    XHTMLで記述しUTF-8で保存した拡張子.htmlのファイルが、IE8で開いた時だけ文字化けします。 以下、試したことと問題点です。 <meta>を入れる→改善した>XHTMLでは<meta>は入れないことになっているので入れたくない。 BOMを付けて保存→改善した>BOMを付けていいのかどうか分からない。 .htaccessで「AddType application/xhtml+xml .html」を入れる→IEではダウンロードになってしまう>問題外。 XML宣言を抜く→改善した>抜きたくない。 ブラウザで何度も更新→解消した>解決してない。 XHTMLで書かれたサイトはたくさんあるのでちゃんとした解決策があるとは思うんですが、ググった限りでは、<meta>を入れろという記述か、ケータイサイトの話か、閲覧者のレジストリをいじるくらいしか見つけられませんでした。 本当の解決法を教えてください。 ちなみに、XML宣言とDOCTYPE宣言は正しく(Another-HTML lintで100点)書かれています。

    • ベストアンサー
    • XML
  • SVGをobjectタグで埋め込み・表示させる方法

    いつもお世話になっております。 HTMLにobjectタブを使いSVGファイルを埋め込み・表示させようとしていますが、 表示させることができません。 SVGファイル自体は正しく表示されます。 (ブラウザはIE9 Betaです) 過去にいくつか類似投稿がありましたの参考にしましたが、今一つ分かりません。 以下コードになりますが、記述が誤っている・足りない箇所がありましたら、ご指摘ください。 よろしくお願いします。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"></meta> </head> <body> <div> <object width="200" height="40" data="sample.svg" type="image/svg+xml"> SVG表示失敗 </object> </div> </body> </html>

    • ベストアンサー
    • HTML

専門家に質問してみよう