| XHTML | |
|---|---|
| ファイル名拡張子 | .xhtml、.xht、.xml、.html、.htm |
| インターネットメディアタイプ | application/xhtml+xml |
| 統一型識別子(UTI) | public.xhtml |
| UTIコンフォメーション | public.xml |
| 開発者 | WHATWG |
| 初回リリース | 2000年1月26日 (2000年1月26日) |
| フォーマットの種類 | マークアップ言語 |
| から拡張 | XML、HTML |
| 標準 | HTML LS |
| オープンフォーマット? | はい |
| HTML |
|---|
| HTMLとそのバリエーション |
| HTML要素と属性 |
| 編集 |
| 文字エンコーディングと言語 |
| ドキュメントとブラウザモデル |
| クライアントサイドスクリプティングとAPI |
| グラフィックスとWeb3Dテクノロジー |
| 比較 |
拡張可能ハイパーテキストマークアップ言語(XHTML)は、ウェブページを作成する 言語として広く使用されているハイパーテキストマークアップ言語(HTML)のバージョンを反映または拡張したXMLマークアップ言語ファミリーの一部です
HTML5以前のHTMLは、柔軟なマークアップ言語フレームワークであるStandard Generalized Markup Language (SGML)の応用として定義されていましたが、XHTMLはSGMLのより制限的なサブセットであるXMLの応用です。XHTML文書は整形式であるため、標準的なXMLパーサーを使用して解析できます。一方、HTMLはHTML固有の柔軟なパーサーを必要とします。[ 1 ]
XHTML 1.0は2000年1月26日にワールドワイドウェブコンソーシアム(W3C)の勧告となった。XHTML 1.1は2001年5月31日にW3Cの勧告となった。XHTMLは現在「HTMLのためのXML構文」 [ 2 ] [ 3 ]と呼ばれ、HTMLリビングスタンダードのXML版として開発されている。[ 4 ] [ 5 ]
XHTML 1.0は、「HTML 4の3つの文書型をXML 1.0の応用として再定式化したもの」でした。[ 6 ]ワールド・ワイド・ウェブ・コンソーシアム(W3C)は、同時にHTML 4.01勧告も保守していました。2002年8月に公開・改訂されたXHTML 1.0勧告文書において、W3Cは「XHTMLファミリーは、インターネットの進化における次のステップです。今日XHTMLに移行することで、コンテンツ開発者はXMLの世界に参入し、その付随するすべての利点を享受しながら、コンテンツの後方互換性と将来的な互換性を確信することができます。」と述べています。[ 6 ]
しかし、2005年に、Webハイパーテキストアプリケーション技術ワーキンググループ(WHATWG)がW3Cから独立して結成され、XHTMLに基づかない通常のHTMLの発展に取り組むことになりました。WHATWGは最終的に、XHTML 2.0などのW3C標準と並行して、XMLと非XMLの両方のシリアル化をサポートする標準であるHTML5の策定に着手しました。2007年、W3CのHTMLワーキンググループは、HTML5を正式に承認し、次世代HTML標準として取り組むことを決議しました。[ 7 ] 2009年、W3Cは、HTML5がXMLと非XMLの両方のシリアル化を含む唯一の次世代HTML標準となることを承認し、XHTML 2.0ワーキンググループの憲章の失効を認めました。[ 8 ] 2つのシリアル化のうち、W3Cはほとんどの作成者がXHTML構文ではなくHTML構文を使用することを推奨しています。[ 9 ]
W3CのXHTML 1.0とXHTML 1.1の勧告は、HTML 4.0、 [ 12 ] HTML 4.01、[ 13 ] HTML5とともに2018年3月27日に廃止されました。 [ 10 ] [ 11 ]
XHTMLはHTMLの拡張性を高め、他のデータ形式との相互運用性を高めるために開発された。 [ 15 ]さらに、ブラウザはHTMLのエラーを許容し、ほとんどのウェブサイトはマークアップの技術的エラーにかかわらず表示された。XHTMLはより厳密なエラー処理を導入した。[ 16 ] HTML 4は表面上は標準一般化マークアップ言語(SGML)のアプリケーションであったが、SGMLの仕様は複雑で、ウェブブラウザもHTML 4勧告も完全には準拠していなかった。[ 17 ] 1998年に承認されたXML標準は、HTML 4に近い、より単純なデータ形式を提供した。[ 18 ] XML形式に移行することで、HTMLが一般的なXMLツールと互換性を持つことが期待された。[ 19 ]サーバーとプロキシは、必要に応じて、携帯電話などの制約のあるデバイス用にコンテンツを変換できるようになる。[ 20 ]名前空間 を使用することで、XHTML文書はScalable Vector GraphicsやMathMLなどの他のXMLベースの言語の断片を組み込むことで拡張性を提供できます。[ 21 ]最後に、この新たな作業により、HTMLを再利用可能なコンポーネントに分割し(XHTMLモジュール化)、言語の乱雑な部分を整理する機会が提供されます。[ 22 ]
XHTMLとHTMLには様々な違いがあります。ドキュメントオブジェクトモデル(DOM)は、アプリケーション内でページを内部的に表現するツリー構造であり、XHTMLとHTMLはそれをマークアップで表現する2つの異なる方法です。どちらもDOMほど表現力は高くありません。たとえば、「--」はDOMではコメントに配置できますが、XHTMLでもHTMLでもコメントでは表現できません。また、一般的に、XHTMLのXML構文はHTMLよりも表現力に優れています(たとえば、HTMLでは任意の名前空間は許可されていません)。XHTMLはXML構文を使用し、HTMLは疑似SGML構文を使用します(HTML 4以下では正式にはSGMLですが、実際にはそうではなく、HTML5ではSGMLから標準化されています)。DOM構文の表現可能な内容はわずかに異なるため、2つのモデル間で実際の動作に若干の違いがあります。ただし、構文の違いは、マークアップ内に代替の翻訳フレームワークを実装することで克服できます
まず、文法にいくつかの違いがあります。[ 23 ]
</div>) または自己終了構文 (例 ) を使用して閉じる必要がありますが、HTML 構文では、一部の要素は常に空 (例) であるか、終了が暗黙的に決定できる (「省略可能性」、例)<br/>ため、閉じられなくてもかまいません。<input><p><optionselected><optionselected=selected><optionselected="selected"><tbody>構文上の違いに加えて、動作上の違いもいくつかあります。これらは主に、シリアル化の根本的な違いに起因しています。例えば、
xlink。document.write()innerHTML<body><html>HTML 4.01とXHTML 1.0の類似性により、多くのウェブサイトやコンテンツ管理システムがW3Cの初期のXHTML 1.0勧告を採用しました。W3Cは、作成者の移行を支援するため、XHTML 1.0文書をHTMLと互換性のある方法で公開し、XHTML向けに設計されていないブラウザに配信する方法に関するガイダンスを提供しました。[ 27 ] [ 28 ]
このような「HTML互換」コンテンツは、text/htmlXHTMLの公式インターネットメディアタイプ( )ではなく、 HTMLメディアタイプ( )を使用して送信されますapplication/xhtml+xml。したがって、XHTMLの普及度を通常のHTMLと比較する際には、比較対象がメディアタイプの使用法なのか、それとも実際の文書コンテンツなのかを区別することが重要です。[ 29 ] [ 30 ]
ほとんどのウェブブラウザは、すべてのXHTMLメディアタイプを成熟したサポート[ 31 ]しています。 [ 32 ]注目すべき例外は、MicrosoftのInternet Explorerバージョン8以前です。コンテンツをレンダリングするのではなく、ダイアログボックスが表示され、ユーザーにコンテンツをディスクに保存するように促します。Internet Explorer 7(2006年リリース)とInternet Explorer 8(2009年3月リリース)の両方でこの動作が見られます。[ 33 ] Microsoftの開発者であるChris Wilsonは2005年に、IE7の優先事項はブラウザのセキュリティとCSSサポートの向上であり、適切なXHTMLサポートをIEの互換性重視のHTMLパーサーに移植するのは難しいと説明しました。[ 34 ]しかし、 MicrosoftはIE9で真のXHTMLのサポートを追加しました。[ 35 ]application/xhtml+xml
サポートが広範でない限り、ほとんどのウェブ開発者はHTMLと互換性のないXHTMLの使用を避けます。[ 36 ]そのため、XMLの名前空間、より高速な解析、小さなフットプリントのブラウザなどの利点はユーザーに利益をもたらしません。[ 37 ] [ 38 ] [ 39 ]
2000年代初頭、Web開発者の中には、Web制作者がなぜXHTMLで制作するようになったのか疑問視する者もいた。[ 40 ] [ 41 ] [ 42 ]一方、XHTMLの使用で生じる問題は主に2つの原因、すなわち一部のWeb制作者による無効なXHTML文書の作成とInternet Explorer 6にXHTMLのサポートが組み込まれていないことに起因すると反論する者もいた。[ 43 ] [ 44 ]彼らはさらに、検索、インデックス作成、解析、およびWeb自体の将来性に関するXMLベースのWeb文書(すなわちXHTML)の利点について説明を続けた。
2006年10月、HTMLの発明者でありW3C議長でもあるティム・バーナーズ=リーは、W3Cによる新しいHTML仕様策定に向けた主要な取り組みを紹介し、自身のブログに次のように投稿した。「世界を一気にXMLに移行させようとする試みは失敗に終わった。HTMLを生成する大勢の人々は移行しなかった。一部の大規模なコミュニティは移行し、整形式のシステムの恩恵を受けている。計画では、全く新しいHTMLグループを設立する予定だ。」[ 45 ]現在のHTML5ワーキングドラフトでは、「相互運用性を向上させるため、ユーザーエージェントの明確な適合基準を定義することに特別な注意が払われている。同時に、ここ数年で提起された問題に対処するためにHTML仕様を更新している。」と述べられている。 2002年にXHTMLの不適切な使用を批判したHTML5仕様の編集者であるイアン・ヒクソン[ 40 ]は、この仕様を策定しているグループのメンバーであり、現在のワーキングドラフトの共同編集者の一人として挙げられている。[ 46 ]
Simon PietersはモバイルブラウザのXML準拠を調査し[ 47 ]、「モバイルデバイスにXHTMLが必要であるという主張は単なる神話である」と結論付けました。

application/xhtml+xmlた1998年12月、W3Cは「HTMLをXMLで再定式化する」と題するワーキングドラフトを公開しました。これにより、HTML 4をベースにしながらもXMLのより厳格な構文規則に準拠した新しいマークアップ言語のコードネームであるVoyagerが導入されました。1999年2月までに仕様名称はXHTML 1.0: The Extensible HyperText Markup Languageに変更され、2000年1月に正式にW3C勧告として採択されました。[ 48 ] XHTML 1.0には、HTML 4.01の3つの異なるバージョンに対応する 3つの正式な文書型定義(DTD)があります。
center、、fontなど) が含まれています。strikeXHTML 1.0の第2版は2002年8月にW3C勧告となった。[ 49 ]
モジュール化は、 XHTMLをサブセット化および拡張するためのコンポーネントの抽象的なコレクションを提供します。この機能は、XHTMLがモバイルデバイスやWeb対応テレビなどの新興プラットフォームにまで普及するのを支援することを目的としています。XHTMLのモジュール化の初期ドラフトは1999年4月に公開され、2001年4月に勧告となりました。[ 50 ]
最初のモジュラー XHTML バリアントは、XHTML 1.1 と XHTML Basic 1.0 でした。
2008年10月、XHTMLのモジュール化は、 XMLスキーマ実装を追加したXHTMLモジュール化1.1に置き換えられました。これは2010年7月に第2版に置き換えられました。[ 51 ]
XHTML 1.1は、 XHTML仕様の初期モジュール化をめぐる作業から発展しました。W3Cは1999年9月に最初のドラフトを公開し、2001年5月に勧告となりました。[ 52 ] XHTML 1.1に統合されたモジュールは、東アジア言語をより適切にサポートするためにルビ注釈要素(ruby、rbc、rtc、rb、 )を追加し、XHTML 1.0 Strictを実質的に再現しています。その他の変更点としては、 要素と要素から 属性が削除されたこと、(言語の最初の版では)属性が削除され が採用されたことが挙げられます。 rtrpnameamaplangxml:lang
XHTML 1.1はXHTML 1.0およびHTML 4とほぼ互換性がありますが、2002年8月にワーキンググループはHTMLメディアタイプで配信すべきではないという公式ノートを発行しました。[ 53 ]代替application/xhtml+xmlメディアタイプをサポートするブラウザが限られていたため、XHTML 1.1は広く普及することができませんでした。2009年1月には、この制限を緩和し、XHTML 1.1をHTMLメディアタイプとして配信できるようになった第2版(XHTMLメディアタイプ - 第2版)が発行されましたtext/html。[ 54 ]
XHTML 1.1の第2版は2010年11月23日に発行され、さまざまなエラッタに対処し、元の仕様には含まれていなかったXMLスキーマ実装を追加しました。[ 55 ](2009年5月7日に「編集勧告案」として短期間リリースされましたが[ 56 ]、未解決の問題により5月19日に撤回されました。)
情報機器はすべてのXHTML抽象モジュールを実装するためのシステムリソースが不足している可能性があるため、W3Cは機能制限されたXHTML仕様であるXHTMLベーシックを定義しました。これは、最も一般的なコンテンツ作成に十分な最小限の機能サブセットを提供します。この仕様は2000年12月にW3C勧告となりました。 [ 57 ]
XHTMLのすべてのバージョンの中で、XHTML Basic 1.0は最も機能が少ない。XHTML 1.1は、モジュール型XHTMLの最初の2つの実装のうちの1つである。コアモジュール(構造、テキスト、ハイパーテキスト、リスト)に加えて、ベース、基本フォーム、基本テーブル、画像、リンク、メタ情報、オブジェクト、スタイルシート、ターゲットといった抽象モジュールを実装している。[ 58 ] [ 59 ]
XHTML Basic 1.1は、基本フォームモジュールをフォームモジュールに置き換え、組み込みイベント、プレゼンテーション、スクリプトの各モジュールを追加しました。また、他のモジュールのタグと属性もサポートしています。このバージョンは2008年7月29日にW3C勧告となりました。[ 60 ]
XHTML Basicの現在のバージョンは1.1第2版(2010年11月23日)であり、この言語はW3CのXMLスキーマ言語で再実装されています。このバージョンでは属性もサポートされていますlang。[ 61 ]
2006年9月にW3C勧告となったXHTML-Printは、情報家電から低価格のプリンターまで印刷される文書向けに設計されたXHTML Basicの特殊バージョンです。[ 62 ]
XHTMLモバイルプロファイル(略称:XHTML MPまたはXHTML-MP)は、W3CのXHTMLベーシック仕様のサードパーティ版です。XHTMLベーシックと同様に、XHTMLはシステムリソースが限られた情報機器向けに開発されました
2001年10月、ワイヤレスアプリケーションプロトコルフォーラム(WAP)という有限会社が、ワイヤレスアプリケーションプロトコルの2番目のメジャーバージョンであるWAP 2.0向けにXHTML Basicの採用を開始しました。WAPフォーラムは、W3CのXHTMLモジュール化をDTDのベースとし、ターゲットモジュールを除き、W3CがXHTML Basic 1.0で使用したのと同じモジュールを組み込んでいました。この基盤を基に、WAPフォーラムは基本フォームモジュールをフォームモジュールの部分的な実装に置き換え、レガシーモジュールとプレゼンテーションモジュールの部分的なサポートを追加し、スタイル属性モジュールの完全なサポートを追加しました。
2002 年に、WAP フォーラムはOpen Mobile Alliance (OMA) に統合され、OMA ブラウジング仕様のコンポーネントとして XHTML モバイル プロファイルの開発が継続されました。
2004年に最終決定されたこのバージョンでは、OMAはスクリプトモジュールの部分的なサポートと組み込みイベントの部分的なサポートを追加しました。XHTML MP 1.1は、OMAブラウジング仕様バージョン2.1(2002年11月1日)の一部です。[ 63 ]
2007年2月27日に最終版が完成したこのバージョンでは、XHTML MP 1.1の機能が拡張され、フォームモジュールとOMAテキスト入力モードが完全にサポートされています。XHTML MP 1.2は、OMAブラウジング仕様バージョン2.3(2007年3月13日)の一部です。[ 63 ]
XHTML MP 1.3(2008年9月23日完成)は、ターゲットモジュールを含むXHTML Basic 1.1文書型定義を使用しています。このバージョンの仕様におけるイベントは、DOMレベル3仕様に更新されています(つまり、プラットフォームおよび言語に依存しません)。
XHTML 2ワーキンググループは、XHTML 1.1をベースにした新しい言語の作成を検討した。[ 64 ] XHTML 1.2が作成されれば、WAI-ARIAと、roleアクセシブルなウェブアプリケーションをより良くサポートするための属性、およびRDFaによるセマンティックウェブのサポートが改善される。XHTML Basic 1.1の 属性に加えて、フレームターゲットを指定するための 属性も存在する可能性がある。XHTML2 WGは、XHTML1.2の開発を行うための認可を受けてはいなかった。W3Cは、XHTML2 WGの認可を再発行するつもりはないと発表し、[ 8 ] 2010年12月にWGを閉鎖したため、XHTML 1.2の提案は実現しないであろう。 inputmodetarget
2002年8月から2006年7月の間に、W3CはXHTML 2.0の8つのワーキングドラフトをリリースしました。これは、後方互換性の要件を廃止することで、過去から完全に決別したXHTMLの新しいバージョンです。XHTML 1.xおよびHTML 4との互換性の欠如は、ウェブ開発者コミュニティで初期の論争を引き起こしました。[ 65 ]その後、言語の一部( 属性roleやRDFa属性など)は仕様から分離され、別々のモジュールとして開発されました。これは、XHTML 1.xからXHTML 2.0への移行をスムーズにするためでもありました。XHTML 2.0の第9ドラフトは2009年に公開される予定でしたが、2009年7月2日、W3CはXHTML2ワーキンググループの憲章をその年の末までに失効させることを決定し、事実上、ドラフトから標準へのさらなる開発を停止しました[ 8 ] 代わりに、XHTML 2.0と関連文書は2010年にW3Cノートとしてリリースされました。 [ 66 ] [ 67 ]
XHTML 2.0 で導入された新しい機能には次のようなものがあります。
nl要素型が追加される予定でした。これは、現在ネストされた順序なしリストやネストされた定義リストなど、様々な方法で作成されているネストされたメニューを作成する際に役立つはずでした。<li href="articles.html">Articles</li>srcたとえば、 は<p src="lbridge.jpg" type="image/jpeg">London Bridge</p>と同じです<object src="lbridge.jpg" type="image/jpeg"><p>London Bridge</p></object>。alt要素の属性が削除されました。 要素と同様に、要素imgのコンテンツに代替テキストが指定されるようになりました。例: 。imgobject<img src="hms_audacious.jpg">HMS <span class="italic">Audacious</span></img>h) が追加されました。これらの見出しのレベルは、ネストされた要素の深さによって決まります。これにより、見出しの使用を6レベルまでに制限するのではなく、無限に使用できるようになります。i、 、bはtt、XHTML 1.x(Strict を含む)では依然として許可されていましたが、XHTML 2.0 では削除されました。わずかにプレゼンテーション的な要素として残されたのは、上付き文字と下付き文字を表すsupとのみでしsubた。これらはプレゼンテーション以外の用途で重要な役割を担い、特定の言語で必須となるためです。その他のタグはすべてセマンティックな要素(強い強調strongを表す など)として扱われ、ユーザーエージェントが CSS を介して要素のプレゼンテーションを制御できるようになりました(例えば、ほとんどのビジュアルブラウザでは太字で表示されますが、音声読み上げ機能ではトーンを変えて表示される、ユーザー側のスタイルシートのルールに従って大きい斜体フォントで表示される、など)。propertyと属性を持つ RDF トリプルが追加されました。aboutHTML5はW3Cから独立して、ブラウザメーカーやその他の関係者による緩やかなグループ(WHATWG 、Web Hypertext Application Technology Working Group)を通じて発展しました。このグループの主な目的は、動的なWebアプリケーションのためのプラットフォームを作成することでした。彼らは、XHTML 2.0はドキュメント中心的すぎるため、インターネットフォーラムサイトやオンラインショップの作成には適していないと考えていました。[ 68 ]
HTML5には、通常のシリアル化とXMLシリアル化( XHTML5text/htmlとも呼ばれる)の両方があります。[ 69 ] HTML5は、既存のHTMLフォーム要素とイベントモデルを維持するという決定により、XHTML 2.0よりもHTML 4およびXHTML 1.xとの互換性が高くなっています。ただし、HTML 1.xにはない多くの新しい要素(<!-->タグや<!-->タグなど)が追加されています。 sectionaside
XHTML5言語は、HTML5と同様に、 DTDを使わずにDOCTYPE宣言を使用します。さらに、この仕様では、ブラウザに対し、解析時に名前付き文字のエンティティ定義のみを含むDTDに置き換えるよう要求することで、以前のXHTML DTDを非推奨としています。[ 69 ]
XHTML+RDFaは、XHTMLマークアップ言語の拡張版であり、整形式XML文書の形式で属性と処理規則の集合を通してRDFをサポートします。このホスト言語は、リッチなセマンティックマークアップを埋め込むことでセマンティックウェブコンテンツを開発するために使用される技術の一つです。
XHTML仕様に準拠したXHTML文書は、妥当であると言われています。妥当性は文書コードの一貫性を保証し、処理を容易にしますが、ブラウザによるレンダリングの一貫性を必ずしも保証するものではありません。文書の妥当性は、W3Cマークアップ検証サービス(XHTML5の場合はValidator。代わりにnu Living Validatorを使用してください)で確認できます。実際には、多くのWeb開発プログラムがW3C標準に基づいたコード検証機能を提供しています。
XHTML文書のルート要素は でなければならずhtml、 XHTML名前空間xmlnsに関連付ける属性を含んでいなければなりません。XHTMLの名前空間URIは です。以下のタグの例では、文書を自然言語で識別するための属性も追加されて いますhttp://www.w3.org/1999/xhtmlxml:lang
<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "ar" >XHTML文書を検証するために、文書型宣言( DOCTYPE )を使用できます。DOCTYPEは、文書が準拠する文書型定義(DTD)をブラウザに宣言します。文書型宣言はルート要素の前に配置する必要があり、 DOCTYPEはルート要素の前に配置する必要があり、DOCTYPEはルート要素の前に配置する必要があり、 ルート要素はルート要素の前に配置する必要があります
DOCTYPEのシステム識別子部分(これらの例ではで始まるURL )http://は、検証ツールが公開識別子(もう一方の引用符で囲まれた文字列)に基づいてDTDのコピーを見つけられない場合、使用するDTDのコピーを指し示すだけで十分です。これらの例にあるような特定のURLである必要はありません。実際、作成者は可能な限りDTDファイルのローカルコピーを使用することが推奨されます。ただし、公開識別子は、例にあるように、文字単位で一致している必要があります。
MIMEタイプを使用して文書が提供される場合、XHTML 文書の先頭の XML 宣言で文字エンコーディングを指定できます。( XML 文書にエンコーディングの指定がない場合、XML パーサーは、上位プロトコルによってエンコーディングが既に決定されていない限り、エンコーディング がUTF-8またはUTF-16であると想定します。)application/xhtml+xml
例えば:
<?xml version="1.0" encoding="UTF-8" ?>宣言は、デフォルトのエンコーディングを宣言するため、省略可能です。ただし、文書がXML 1.1または他の文字エンコーディングを使用している場合は、宣言が必要です。バージョン7より前のInternet Explorerは、 として提供される文書内でXML宣言を検出すると、Quirksモードに入りますtext/html
XHTML 1.x文書は、適切なガイドラインに従う限り、HTML 4ユーザーエージェントとほぼ後方互換性があります。XHTML 1.1は基本的に互換性がありますが、ルビ注釈roleの要素はHTML 4仕様の一部ではないため、HTML 4ブラウザでは一般的に無視されます。属性、RDFa、WAI-ARIAなどの後続のXHTML 1.xモジュールも同様の方法で適切にデグレードされます
XHTML 2.0 は互換性が大幅に低下していますが、スクリプトを使用することである程度は軽減できます。(スクリプトには、Internet Explorer 内で新しい HTML 要素を登録するための の使用などのシンプルなワンライナーや、 XFormsのFormFaces実装document.createElement()などの完全な JavaScript フレームワークが含まれます。)
以下はXHTML 1.0 Strictの例です。どちらも視覚的な出力は同じです。前者はXHTMLメディアタイプノートのHTML互換性ガイドラインに準拠していますが、後者は下位互換性が失われますが、よりクリーンなマークアップを提供します。[ 54 ]
| メディアタイプ | 例1 | 例2 |
|---|---|---|
| application/xhtml+xml | すべき | すべき |
| application/xml | 5月 | 5月 |
| text/xml | 5月 | 5月 |
| text/html | 5月 | すべきではない |
例1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "en" lang= "en" > <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title> XHTML 1.0 Strict の例</title> <script type= "text/javascript" > // <![CDATA[ function loadpdf() { document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf"; } //]]> </script> </head> <body onload= "loadpdf()" > <p>これは、< abbr title = "Extensible HyperText Markup Language" > XHTML </abbr> 1.0 Strict文書の例です。 <br /><img id= "validation-icon" src= "http://www.w3.org/Icons/valid-xhtml10" alt= "Valid XHTML 1.0 Strict" /> <br /> <object id= "pdf-object" name= "pdf-object" type= "application/pdf" data= "http://www.w3.org/TR/xhtml1/xhtml1.pdf" width= "100%" height= "500" > </object> </p> </body> </html>例2.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "en" > <head> <title> XHTML 1.0 Strict の例</title> <script type= "application/javascript" > <![CDATA[ function loadpdf() { document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf"; } ]]> </script> </head> <body onload= "loadpdf()" > <p>これは、< abbr title = "Extensible HyperText Markup Language" > XHTML </abbr> 1.0 Strict文書の例です。<br /><img id= "validation-icon" src= "http://www.w3.org/Icons/valid-xhtml10" alt= "Valid XHTML 1.0 Strict" /> <br /> <object id= "pdf-object" type= "application/pdf" data= "http://www.w3.org/TR/xhtml1/xhtml1.pdf" width= "100%" height= "500" ></object> </p> </body> </html>注:
<param name="src" value="http://www.w3.org/TR/xhtml1/xhtml1.pdf"/>ことで置き換えることができます<object>imgを取得できません。代わりに を使用してください。nameidHTML5とXHTML5のシリアル化は、より厳格なXHTML5の構文に準拠している場合、大部分は相互互換性がありますが、XHTMLが有効なHTML5として動作しないケースがいくつかあります(例えば、処理命令はHTMLには存在せず、コメントとして扱われ、最初の で閉じられます>が、XMLでは完全に許可され、独自の型として扱われ、 で閉じられます?>)。[ 70 ]
…しかしながら、ISO 8879はアプリケーションに内部サブセットを禁止する余地を与えていないため、HTML [4] 仕様の文言は、自動的にSGML準拠アプリケーションとしての資格を剥奪することになります…
…XML自体の設計目標は、オリジナルのHTMLの目標を部分的に反映していたため、XMLベースのマークアップ言語の策定作業を開始するのは理にかなったことでした…
... 問題:XMLツールが提供するパワーとシンプルさを活用したいのに、古くなったHTMLドキュメントで溢れかえっているサイトに直面しています。解決策:ドキュメントをXHTMLに変換し、Perlと
…
XML::XPath... XHTMLの便利な機能の一つは、XMLとして操作できることです。拡張スタイルシート言語テンプレート(Extensible Stylesheet Language Templates)を使用すれば、XHTMLをWMLやその他の独自のモバイルフォーマットに変換できます。
…W3Cの長年の目標は、異なる種類のXMLベースのコンテンツを同じXMLファイルに混在させることでした。例えば、SVGとMathMLをXHTMLベースの科学文書に直接組み込むことも可能です。
…XMLベースのHTMLであれば、他のXML言語にXHTMLの要素を組み込むことができ、XHTML文書に他のマークアップ言語の要素を組み込むことも可能です。また、HTMLの再設計を活用して、HTMLの扱いにくい部分を整理し、より優れたフォームなど、必要な新機能を追加することもできます…
から読んでいました。IE7ではこのMIMEタイプのサポートは追加されないことをお伝えしておきます。もちろん、HTML互換性推奨事項に従っている限り、「text/html」として提供されたXHTMLは引き続き読み込まれます。
…IE 7で真のXHTMLをサポートしようとすれば、既存のHTMLパーサー(互換性重視)を使い、XML構造をハッキングするしかなかったでしょう。この方法ではXHTMLを適切にサポートできる可能性は極めて低いでしょう。特に、あちこちで発生するエラーを確実に検出できず、無効なケースを黙ってサポートすることになるでしょう。もちろん、これは将来的にパーサーのエラー処理に基づく互換性の問題を引き起こすでしょう。XMLはこれを明示的に回避しようとしています。現在のHTMLエラー処理(以前のブラウザとの互換性に起因するものです。この点については私個人を責めることもできますが、IEは責められません)のような混乱を再び引き起こしたくはありません。IE 7以降、XHTMLを適切に実装し、真の相互運用性を実現することに時間をかける方がはるかに望ましいのです。
...現在、HTML5の解析ルール、選択API、XHTMLサポート、インラインSVGの実装について開発者の皆様からのフィードバックを募集しています。CSS3に関しては、セレクタ、名前空間、色、値、背景と境界線、フォントに関するIE9のサポートについて開発者の皆様からのフィードバックを募集しています。...
をtext/HTMLとして送信することのデメリットは、[Ian Hickson]が主張するほど多くはなく(もしあったとしても)、私が上で述べたメリットを考えると、私見では十分に活用する価値がある。[Hicksonの記事には]微妙な脚注や括弧書きがあり、その有害性は、この手法の落とし穴を知らない著者にのみ当てはまると示唆しているが、小さなシリカゲルの袋に貼られた「食べないでください」というラベルのように、Ianのアドバイスは常識的なものであり、XHTMLとは何か、そしてどのように書くかを実際に知っている著者にとっては言及する価値はないと思われる。
におけるXHTMLは失敗作だと言う人もいますが、私はWeb標準を目指す戦いにおける最大の成功だと考えています。…しかし、XHTMLはWebにとって良いものであり、人々がそれを批判しようとするのは残念です。このことを証明するために、この神話を詳しく説明し、Web標準を目指す戦いにおいて、XHTMLがなぜ最高のものなのかをお見せしたいと思います。…結論として、XHTMLをtext/htmlとして送信しても、XHTMLが検証されている限り、今日ではどこにも損害や害はありません。そして、Web標準をさらに普及させたいのであれば、XHTMLを使い続け、ページを検証してください。
年を経て、より明確になった点がいくつかあります。HTMLは段階的に進化させる必要があります。属性値を引用符で囲む、空タグにスラッシュを入れる、名前空間を定義するなど、一気にXMLに移行させようとする試みは失敗に終わりました。HTMLを生成する大勢のユーザーは、主にブラウザが問題にしなかったため、移行しませんでした。一部の大規模なコミュニティは移行し、整形式のシステムの恩恵を受けていますが、すべてがそうではありません。HTMLを段階的に維持し、整形式の世界への移行を継続し、その世界でより大きな力を発揮していくことが重要です。
全く新しいHTMLグループを設立する計画です。以前のグループとは異なり、このグループはHTML、そして並行してXHTMLの段階的な改善に取り組むことを目的としています。議長とスタッフはそれぞれ異なります。HTMLとXHTMLの両分野に共同で取り組みます。ブラウザメーカーを含む多くの人々と話し合い、このグループへの強い支持を得ています。
styleciteinsdel... XHTML2... は、ハイパーリンク、マルチメディアコンテンツ、文書編集の注釈、リッチメタデータ、宣言型インタラクティブフォーム、そして詩や科学論文といった文学作品の意味記述といった、より優れた機能を備えた新しいHTML語彙を定義しています。... しかし、Web上でよく見られる多くの非文書型コンテンツのセマンティクスを表現する要素が欠けています。例えば、フォーラムサイト、オークションサイト、検索エンジン、オンラインショップなどは、文書のメタファーにはあまり当てはまらず、XHTML2ではカバーされていません。...
この
仕様は、HTMLを拡張し、これらのコンテキストにも適したものにすることを目的としています。
<!DOCTYPE html><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">application/xhtml+xmlます。