• ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
noname#119610
noname#119610
回答No.2

SGMLとXMLの違いですね。 SGMLにはSGMLのルールが、XMLにはXMLのルールがあります。 XMLの一種であるXHTMLは、空要素は必ず /> で閉じる必要があります。 対してSGMLの一種であるHTMLは、空要素を /> で閉じてはいけません。 FC2ブログのテンプレートには全て /> が入っている、つまりXHTMLですね。 空要素は必ず /> で閉じる必要があります。 Another HTML-lint でXHTMLに設定してもう一度チェックしてみて下さい。 /> のエラーはでなくなるはずです。

sutoriti81
質問者

お礼

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

その他の回答 (2)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

Another HTML-lintでチェックするとき、ソースを張り付けてチェックするのなら、DOCTYPEが、HTMLになっているか、あるいは下の詳細できちんと指定しているかで結果が変わります。  XHTMLとしてチェックすれば、そのメッセージは出ないはずです。 XHTMLは、HTMLをSGML直属のXMLに合わせてルールを書き直したもの。 XMLは、ISO標準 Standard Generalized Markup Language (SGML) のサブセット。 HTMLはSGMLの仕組みを流用はしています。というかDTDによって拡張されたものと考えるのが妥当でしょう。HTMLはSGMLではない。  HTMLは内容を持たない要素を示すタグが認められていますが、

sutoriti81
質問者

お礼

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

noname#111181
noname#111181
回答No.1

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

sutoriti81
質問者

お礼

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