エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【HTML/XHTML】空要素の書き方の違いの理由<br />と<br>【979日目】

空要素とは

空要素というものがあって、中身がなくても完結しているタグがあります。
brやhrとかです。
これらは、マークアップ言語によって、書き方が違います。

マークアップ言語って?

HTMLやXMLなどのことで、文章の構造を可視化する書き方です。

普通の文書と比較して、とかで強調している部分を表現したり、

  • で、関連する項目であるということを、表現できますね。

    では、マークアップ言語によって書き方が違うとは何でしょうか。

    マークアップ言語には種類があります。

    XMLというマークアップ言語があり、これらはルールとして


    と書くように決められていました。
    そして、あくまでXMLでありその一部としてのWebでHTMLとして『XHTML』というものが生まれました。

    HTMLは、SGMLと呼ばれるマークアップ言語があり、それを元に作成されました。

    詳細は省きますが、利便性や時代の背景からXHMLは推奨されなくなり、HTML5はそれらの互換性をある程度保ちながら策定された書き方です。

    まとめ

    <input />
    1. これは、XMLのルール由来であり、以前使われていたXHTMLの書き方である。
    2. HTML5は、互換性を保っているため、上記の書き方も許容している

    みたいなのを知っておくと、もしXHTMLを使う場面が来たときとかに役に立つかもしれません。 (編集済み)

    おまけ: 静的解析

    ちなみに、静的解析をするときに

    <br>

    みたいな書き方は正しいか判断しづらくて、上記の書き方が許容されているのは静的解析ツールづくりをする人泣かせだったりします。