Visual Web Developer での XHTML
更新 : 2007 年 11 月
XHTML は HTML を XML ドキュメントとして定義する W3C (World Wide Web Consortium) 標準です。XHTML 互換のマークアップを使用して表示する Web ページを作成する場合、Visual Web Developer では、準拠ページの作成をさまざまな方法でサポートします。
XHTML および XHTML 標準の詳細については、W3C Web サイトで HTML および XHTML のトピックのページを参照してください。
Visual Web Developer での XHTML 準拠ページの作成
既定では、Visual Web Developer の Web ページ デザイナは常に、XHTML 1.0 Transitional 仕様に準拠したマークアップを生成します。新しい ASP.NET Web ページを作成すると、この新しいページには、次の例に示すように、DOCTYPE 宣言などの XHTML で必須の基本要素が記述されます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
ドキュメントには、次の例に示すように、XHTML 名前空間への参照を含む html 要素も記述されます。
<html xmlns="http://www.w3.org/1999/xhtml" >
タグの生成
Web ページ デザイナを使用してページのマークアップを作成する場合、Web ページ デザイナによって生成される HTML 要素および属性は XHTML 互換です。たとえば、タグ名や属性名は英小文字で作成され、すべての属性値は引用符で囲まれます。要素は適切に終了され、XHTML 標準で必須の属性および使用できない属性についての規則が、Web ページ デザイナによって認識され、実装されます。
Web ページ デザイナでは、次の操作を行った場合にマークアップが生成されます。
ツールボックスからページ上にコントロールをドラッグした場合。
デザイン ビューで文字または段落の書式指定オプションを設定した場合。書式指定オプションは、スタイルを使用して設定されます。ASP.NET サーバー コントロールの書式指定オプションは、実行時にスタイルを表示するプロパティを使用して設定されます。
[プロパティ] ウィンドウを使用してコントロールまたは要素のプロパティを設定した場合。
[表の挿入] ダイアログ ボックスでテーブルを挿入するなど、ダイアログ ボックスを使用してプロパティを設定した場合。
XHTML 準拠の検証
Web ページ デザイナのソース ビューでは、ページのマークアップが、指定されたブラウザまたは標準のスキーマに準拠しているかどうかが検証されます。XHTML に準拠するためには、XHTML 1.0 Transitional、XHTML 1.0 Frameset、または XHTML 1.1 スキーマを使用します。詳細については、「Visual Web Developer でのマークアップ検証」を参照してください。
メモ : |
---|
検証によって、runat="server" 属性を含む form 要素に必須の action 属性が指定されていないことが示されます。これは予測どおりの動作です。action 属性は、実行時に自動的に生成され、現在のページ名が属性の値として設定されます。 |
実行時の XHTML 出力
ブラウザで ASP.NET ページが要求されると、ASP.NET によってページが処理され、これによりページおよびページのコントロールがマークアップ、スタイル、およびスクリプトを表示します。XHTML 以外のプロトコルを使用するブラウザでページが要求された場合や、XHTML 1.1 または従来のマークアップを使用して表示するように Web サイトが構成されている場合を除き、ページおよびページのコントロールは XHTML 1.0 Transitional のマークアップを表示します。
ページの処理時に、ASP.NET では、ページを XHTML 標準に準拠させるために必要なその他の処理タスクを実行します。これには、次のタスクが含まれます。
form 要素に action 属性を追加します。
現在の文字セット、エンコーディングなどに関する情報を含む HTTP ヘッダーを表示します。
ASP.NET は、ページ処理時に次のタスクを実行しません。
XHTML モバイル プロファイル (XHTML MP: XHTML Mobile Profile) をサポートするブラウザにページが表示される場合を除き、DOCTYPE 宣言がなくても、この宣言を追加しません。
マークアップに対する変更を行いません。静的なマークアップのエラーは、そのままブラウザに渡されます。
ブラウザが XHTML MP プロトコルを使用している場合を除き、名前空間属性を html 要素に追加しません。
詳細については、「ASP.NET と XHTML」を参照してください。
既存のページの操作
Web ページは、Visual Web Developer で開いて編集できます。ページに XHTML 準拠のマークアップが含まれていない場合、検証によって、XHTML 標準に準拠していないページ内のすべての要素にフラグが立てられます。Visual Studio は、欠落している要素を追加しません。また、要素に対する変更は、自己終了であるはずの要素に終了スラッシュ (/) を追加するなどのわずかな変更のみを行います。たとえば、選択範囲のフォーマットメニュー コマンドおよびドキュメントのフォーマットメニュー コマンドは、大文字と小文字の問題や引用符の問題を修正しますが、ドキュメントの構造は変更しません。
ページを XHTML 標準に準拠させる場合は、以下のすべての項目を実行する必要があります。
ブラウザのスキーマを XHTML 1.0 Transitional、XHTML 1.0 Frameset または XHTML 1.1 に設定します。詳細については、「方法 : Visual Web Developer で HTML 編集用検証スキームを選択する」を参照してください。
検証を有効にして、ソース ビューでエラーを確認できるようにします。詳細については、「方法 : Visual Web Developer で HTML 編集用の検証オプションを設定する」を参照してください。
無料の W3C Markup Validation Service などの XHTML 検証ツールを使用してドキュメントをテストします。W3C Markup Validation Service は World Wide Web Consortium によって管理されており、W3C Web サイトから入手できます。