대문자 또는 소문자 doctype? 올바른 방법은 무엇입니까? <!DOCTYPE html> 또는 <!doctype

HTML5 doctype을 작성할 때 올바른 방법은 무엇입니까?

<!DOCTYPE html>

또는

<!doctype html>



답변

HTML에서 DOCTYPE은 대소 문자를 구분하지 않습니다. 다음 DOCTYPE이 모두 유효합니다.

<!doctype html>
<!DOCTYPE html>
<!DOCTYPE HTML>
<!DoCtYpE hTmL>

XML 직렬화 (예 : XHTML)에서 DOCTYPE은 필요하지 않지만 사용하는 경우 DOCTYPE대문자 여야합니다.

<!DOCTYPE html>

HTML5의 XML 직렬화 (일명 ‘XHTML5’)를 참조하십시오 .

DOCTYPEXHTML 문서에서 대문자가 아닌 경우 XML 파서는 구문 오류를 반환합니다.

두 번째 부분은 소문자 ( html), 대문자 ( HTML) 또는 대소 문자 ( ) 로 쓸 수 있습니다 hTmL. 여전히 작동합니다. 그러나 HTML 호환 XHTML 문서에 대한 폴리 글 로트 마크 업 지침 을 준수하려면 소문자로 작성해야합니다.


답변

2014 년에도 여전히 궁금한 점이 있으면 다음을 참조하십시오.

HTML5

W3 HTML5 사양-독 타입

DOCTYPE은 다음 구성 요소로이 순서대로 구성되어야합니다.

1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE".
...

참고 : 모든 대문자로 표시 되더라도 사양에 둔감합니다.

————————————————– ——————–

XHTML5

W3 HTML5-XHTML

This specification does not define any syntax-level requirements 
beyond those defined for XML proper.

XML documents may contain a DOCTYPE if desired, but this is not required 
to conform to this specification. This specification does not define 
a public or system identifier, nor provide a formal DTD.

XML 사양을 살펴보면 DOCTYPE이 대문자로 나열되어 있지만 ‘모든 대문자’가 필요하다는 내용을 찾을 수 없습니다 (비교를 위해 위에 나열된 HTML5 사양에서는 모든 대문자로 표시되지만 스펙은 대소 문자를 구분하지 않음을 명시 적으로 나타냅니다 ).

————————————————– ——————–

폴리 글 로트 마크 업

W3 폴리 글 로트 마크 업-소개

잘 구성된 XML 문서 인 HTML5 문서를 제공 할 수있는 것이 때때로 가치가 있습니다.

W3 폴리 글 로트 마크 업-독 타입

폴리 글 로트 마크 업은 [HTML5]의 8.1.1 섹션에 지정된 문서 유형 선언 (DOCTYPE)을 사용합니다. 또한 DOCTYPE은 다음 규칙을 준수합니다.

* The string DOCTYPE is in uppercase letters.

따라서 Ployglot Markup은 일반 HTML5 문서 유형을 사용하지만 추가 / 변경이 가능합니다. 토론에서 가장 주목할만한 것은 DOCTYPE 이 모든 대문자로 선언 된 것 입니다.

————————————————– ——————–

요약

W3의 HTML 대 XHTML 섹션보기

[오피니언] 특별히 고려해야 할 사항이 없다면 XML 규정 준수에 대해 걱정하지 않아도됩니다. 대부분의 클라이언트 및 JS 기반 서버 개발에서 JSON은 XML을 대체했습니다.

따라서 기존의 xhtml / xml 기반 레거시 시스템을 새로운 HTML5 기능과 공존하도록 업데이트하려는 경우에만 이것이 실제로 적용되는 것을 볼 수 있습니다. 이 경우 폴리 글 로트 마크 업 사양을 살펴보십시오.


답변

최신 사양 에 따르면에 대소 문자를 구분하지 않는 것을 사용해야합니다 <!DOCTYPE html>. 따라서 브라우저는 원하는 경우를 지원해야하지만 <!DOCTYPE html>표준 사례 인 경우 를 추론하는 것이 합리적 입니다.


답변

대문자 또는 소문자가 “정확합니다”. 그러나 웹 글꼴을 사용하고 IE7에 관심이 있다면 IE7 <!DOCTYPE html>의 버그 때문에 사용 하는 경우 웹 글꼴이 실패하는 경우가 있습니다 <!doctype html>(예 : 이 답변 ).

이것이 제가 항상 doctype을 대문자로하는 이유입니다.


답변

HTML5의 표준은 태그가 대소 문자를 구분하지 않는다는 것입니다.

http://www.w3schools.com/html5/tag_doctype.asp

더 기술적으로 : ( http://www.w3.org/TR/html5/syntax.html )

DOCTYPE은 다음 구성 요소로이 순서대로 구성되어야합니다.

  1. 문자열의 대소 문자를 구분하지 않는 ASCII 문자열 <!DOCTYPE입니다.

답변

이런 종류의 질문은 정답이 하나 뿐이고 둘 중 복수 선택을 제공하며 하나를 선택하도록 요청합니다. HTML5 모두 유효 <!DOCTYPE html>하고 <!doctype html>유효하다고 제안 합니다.

따라서 HTML5 가능 브라우저는 소문자를 허용하고 html을 올바르게 처리합니다.

HTML5에 익숙하지 않은 브라우저는 문서 유형이 없어도 가능한 한 HTML을 처리하려고 시도한다고 들었습니다. 그리고 그들이 소문자 doctype을 인식하지 못하면 똑같이 할 것입니다. 따라서 브라우저는 HTML5 선언을 완전히 구현할 수 없으므로 대문자로 만들 필요가 없습니다.


답변

doctype 선언은 대소 문자를 구분하지 않으며 일치하는 ASCII 문자열

HTML5 표준