BRタグが<br />と書ける理由 『<br> が <br /』で『</br> が >』になる
古い仕様のSGMLでは、空要素の終了タグは省略してもいいのではなく、省略しなければならない。
しかしXMLなどの新しいSGMLでは終了タクはいかなる場合でも省略してはいけないとなっています。
[参考記事] 『開始タグ』と『閉じタグ』
そこでこの相反するルールのためにBRタグなど空要素のタグが<br />と表記されます。
これにはNETという概念が利用されています。
NET(Null End Tag)は簡略終了タグの意味で、終了タグを簡易的に書く記述法で、区切り子を使います。
HTMLでの区切り子は『 / 』で、開始タグの終了( > )もNET区切り子を使用します。
例としてAタグなどは次のように略されます。
<a href="sample.html">テキスト</a> ↓ <a href="sample.html"/テキスト/
さらにXMLではNESTC(NET-Enabling Start-Tag Closer NET可能開始タグ終了区切り子)という区切り子があり、NET可能開始タグの終了区切り子とNET(終了タグ)に違う文字が使えるようになっています。
先のAタグは次のようになります。
<a href="sample.html">テキスト</a> ↓ <a href="sample.html"/テキスト>
となります。
XMLでNETが使われるのは空要素の場合だけです。
そこで冒頭の相反するルールの矛盾を解消するために、この記法が利用されます。
<br></br> ↓ <br// ↓ <br/>
<br/>だと認識ができないのでスペースを入れて<br />となります。
つまり『 /> 』が『</br>』の代わりではなく、『<br /』が『<br>』で『>』が『</br>』ということになります。
『 / 』と『 > 』は区切りのため、間にスペースを入れてはいけません。スペースが内容とみなされるからです。
古い仕様のSGMLには『 DELIM NET "/>" 』として、『 /> 』が使えるようになっています。
関連記事
- HTMLソースの最後にコメントで『Quick Cache』とあるページ
- inputタグにhiddenで隠された__VIEWSTATEとは(通信の盗聴、値の改ざん、回線の圧迫)
- Twitterウィジェットのカスタマイズ(ウィジェット部分のHTML・CSS)
- 多言語対応テキストエディタの一覧
- サイトマップ(sitemap.xml)のつくり方とちょっとしたテクニック
- Windows7やWindowsVistaでTelnetを使用する方法
- SELECTタグで色を選択する場合のサンプル
- ナインパッチとは(9-Patch)
- SSL(HTTPS)でファイルのダウンロードができない場合
- Google Chromeで一部の文字だけ四角記号に文字化けするときの対処法
- 特定のディレクトリのみベーシック認証を外す方法
- Firefox、Chromeなどで文字化けを防ぐ方法 ヘッダー情報に文字コードを指定
- DOCTYPE宣言/XML宣言
- htmlファイルのコメントに <!--# から始まるものは使用しないほうがいい
- IPアドレス制限とベーシック認証を併用する方法
- サブドメインにアンダーバーがあるとクッキーは使えない
- 会員専用ページを作る方法 (ベーシック認証 / Basic認証 / 基本認証)
- 都道府県を選択するときのサンプルコード (JISコード準拠)
- 生年月日などで年を選択するときのサンプルコード
- 連続する半角英数字を途中で自動改行させるには、​が使えます
- SSLの警告
- mailtoの使い方
スポンサーリンク