2016-07-17 4 views
1

私はcreating a languageです。これはXMLに変換され、DOCTYPE/DTDをサポートしていません。 <!DOCTYPE html>を指定しなくてもXHTML5を使用できますか、またはDOCTYPE/DTDを実装する必要がありますか?主に言語の複雑さを避けるために、私はむしろそうしたくないでしょう。XHTML5にはDOCTYPE/DTDが必要ですか?

答えて

1

WHATWGは言う:XML構文で

を、任意のDOCTYPE宣言を使用してもよいし、それは完全に省略することができます。

and also

<!DOCTYPE html>定義は任意ですが、(...)

そしてW3Cは言う:

[文書型宣言]ありオプションでXHTML構文内で使用できますが、(...)

したがって、DOCTYPE宣言はオプションであると見なすことができます。
また、最近のブラウザでは、Doctype宣言の有無にかかわらず、ファイルを処理する際に識別可能な違いがないことが、迅速かつ汚れたテストによって示されています。ファイルタイプが.xmlまたは.xhtmlである限り。

2

XHTML5には、application/xhtml+xmlなどのXMLメディアタイプを指定する必要があります。ブラウザは標準/非quirksモードでこのようなリソースを常に処理しますので、開始時に<!DOCTYPE html>を置くことは効果がなく、安全に省略することができます。

+0

しかし、問題はquirksモードではありません。それはHTMLについてではない。 –

+0

@MrListerしかし答えは、DOCTYPEが安全に省略されている可能性があるということです。ソースをリンクしません。 – SoniEx2

+0

@ SoniEx2 DOCTYPE宣言がないと、ファイルはXHTML5ではありません。バージョン管理されていないタイプのXHTMLです。あなたの質問が「XHTMLファイルからDoctype宣言を安全に省略できるのですか?」と答えた場合、答えは「はい」です。一方、あなたの質問が「Doctype宣言を残してもXHTML5になるのですか?」と答えた場合、答えは「いいえ」です。 –

関連する問題