プロが教える店舗&オフィスのセキュリティ対策術

空要素タグは/>で閉じてはいけないのですか?

<img src="URL" alt"説明" />をAnother HTML-lintでチェックをしてみたのですけど、
「XHTML以外では、空要素タグを /> で閉じることはできません。」と出てきました。
FC2ブログを使ってるんですけど、テンプレートのメタタグとかには全て/>が入っていました。
空要素の/>はやめた方がいいのでしょうか。

A 回答 (3件)

SGMLとXMLの違いですね。


SGMLにはSGMLのルールが、XMLにはXMLのルールがあります。

XMLの一種であるXHTMLは、空要素は必ず /> で閉じる必要があります。
対してSGMLの一種であるHTMLは、空要素を /> で閉じてはいけません。

FC2ブログのテンプレートには全て /> が入っている、つまりXHTMLですね。
空要素は必ず /> で閉じる必要があります。

Another HTML-lint でXHTMLに設定してもう一度チェックしてみて下さい。
/> のエラーはでなくなるはずです。
    • good
    • 0
この回答へのお礼

大きく分けてSGMLとXMLがあるのですか。知りませんでした。
チェック時はHTMLでチェックしてました。

お礼日時:2010/03/30 08:11

Another HTML-lintでチェックするとき、ソースを張り付けてチェックするのなら、DOCTYPEが、HTMLになっているか、あるいは下の詳細できちんと指定しているかで結果が変わります。


 XHTMLとしてチェックすれば、そのメッセージは出ないはずです。

XHTMLは、HTMLをSGML直属のXMLに合わせてルールを書き直したもの。
XMLは、ISO標準 Standard Generalized Markup Language (SGML) のサブセット。
HTMLはSGMLの仕組みを流用はしています。というかDTDによって拡張されたものと考えるのが妥当でしょう。HTMLはSGMLではない。

 HTMLは内容を持たない要素を示すタグが認められていますが、
    • good
    • 0
この回答へのお礼

はいXHTMLとしてチェックしたらエラーメッセージは出なかったです。

お礼日時:2010/04/05 18:17

スキーマがXHTML(!DOCTYPE が XHTML であるコンテンツ)ならでき、HTMLではできないということです。

    • good
    • 0
この回答へのお礼

XHTMLだったようです。問題なさそうですね。

お礼日時:2010/03/30 08:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!