HTML5 doctype을 작성할 때 올바른 방법은 무엇입니까?
<!DOCTYPE html>
또는
<!doctype html>
<!doctype html>
HTML5 doctype을 작성할 때 올바른 방법은 무엇입니까?
<!DOCTYPE html>
또는
<!doctype html>
<!doctype html>
답변:
HTML에서 DOCTYPE은 대소 문자를 구분하지 않습니다. 다음 DOCTYPE이 모두 유효합니다.
<!doctype html>
<!DOCTYPE html>
<!DOCTYPE HTML>
<!DoCtYpE hTmL>
XML 직렬화 (예 : XHTML)에서 DOCTYPE은 필요하지 않지만 사용하는 경우 DOCTYPE
대문자 여야합니다.
<!DOCTYPE html>
HTML5의 XML 직렬화 (일명 'XHTML5')를 참조하십시오 .
DOCTYPE
XHTML 문서에서 대문자가 아닌 경우 XML 파서는 구문 오류를 반환합니다.두 번째 부분은 소문자 (
html
), 대문자 (HTML
) 또는 대소 문자 ( ) 로 쓸 수 있습니다hTmL
. 여전히 작동합니다. 그러나 HTML 호환 XHTML 문서에 대한 폴리 글 로트 마크 업 지침 을 준수하려면 소문자로 작성해야합니다.
<title/foo/
와 같습니다 <title>foo</title>
. 소수의 HTML 유효성 검사기 만 SGML을 사용합니다. HTML5 스펙은 이것을 명확히하는 첫 번째 것입니다. whatwg.org/specs/web-apps/current-work/multipage/…
html
) 의 두 번째 부분에 관한 것 입니다. 전체 문장은 다음과 같습니다.“두 번째 부분은 소문자 ( html
), 대문자 ( HTML
) 또는 대소 문자 ( ) 로 쓸 수 있습니다 hTmL
. 여전히 작동합니다. 그러나 HTML 호환 XHTML 문서에 대한 폴리 글롯 마크 업 지침을 준수하려면 소문자로 작성해야합니다. "
2014 년에도 여전히 궁금한 점이 있으면 다음을 참조하십시오.
HTML5
DOCTYPE은 다음 구성 요소로이 순서대로 구성되어야합니다.
1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE".
...
참고 : 모든 대문자로 표시 되더라도 사양에 둔감합니다.
XHTML5
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 사양에서는 모든 대문자로 표시되지만 스펙은 대소 문자를 구분하지 않음을 명시 적으로 나타냅니다 ).
폴리 글 로트 마크 업
잘 구성된 XML 문서 인 HTML5 문서를 제공 할 수있는 것이 때때로 가치가 있습니다.
폴리 글 로트 마크 업은 [HTML5]의 8.1.1 섹션에 지정된 문서 유형 선언 (DOCTYPE)을 사용합니다. 또한 DOCTYPE은 다음 규칙을 준수합니다.
* The string DOCTYPE is in uppercase letters.
따라서 Ployglot Markup은 일반 HTML5 문서 유형을 사용하지만 추가 / 변경이 가능합니다. 토론에서 가장 주목할만한 것은 DOCTYPE 이 모든 대문자로 선언 된 것 입니다.
요약
[오피니언] 특별히 고려해야 할 사항이 없다면 XML 규정 준수에 대해 걱정하지 않아도됩니다. 대부분의 클라이언트 및 JS 기반 서버 개발에서 JSON은 XML을 대체했습니다.
따라서 기존의 xhtml / xml 기반 레거시 시스템을 새로운 HTML5 기능과 공존하도록 업데이트하려는 경우에만 이것이 실제로 적용되는 것을 볼 수 있습니다. 이 경우 폴리 글 로트 마크 업 사양을 살펴보십시오.
최신 사양 에 따르면에 대소 문자를 구분하지 않는 것을 사용해야합니다 <!DOCTYPE html>
. 따라서 브라우저는 원하는 경우를 지원해야하지만 <!DOCTYPE html>
표준 사례 인 경우 를 추론하는 것이 합리적 입니다.
<!DOCTYPE html>
하므로 사양 작성자가 특정 대문자 사용을 약간 선호한다고 추론하는 것이 합리적입니다. 스펙과 동일한 대문자를 사용할 것입니다. 왜냐하면 이러한 것들이 일관성을 유지하는 것이 좋기 때문입니다. 그러나 원하는 경우 <!dOcTyPe
내 손님이 되십시오.)
HTML5의 표준은 태그가 대소 문자를 구분하지 않는다는 것입니다.
http://www.w3schools.com/html5/tag_doctype.asp
더 기술적으로 : ( http://www.w3.org/TR/html5/syntax.html )
DOCTYPE은 다음 구성 요소로이 순서대로 구성되어야합니다.
<!DOCTYPE
입니다.tag_doctype.asp
가 유효하지 않습니다 (404).이 질문은 doctype
태그가 아닌 선언에 관한 것입니다 ... 어쨌든, 결론은 맞습니다 : HTML5에서는 키워드 doctype
가 대문자, 소문자 또는 대소 문자가 될 수 있습니다.
이런 종류의 질문은 정답이 하나 뿐이고 둘 중 복수 선택을 제공하며 하나를 선택하도록 요청합니다. HTML5 모두 유효 <!DOCTYPE html>
하고 <!doctype html>
유효하다고 제안 합니다.
따라서 HTML5 가능 브라우저는 소문자를 허용하고 html을 올바르게 처리합니다.
HTML5에 익숙하지 않은 브라우저는 문서 유형이 없어도 가능한 한 HTML을 처리하려고 시도한다고 들었습니다. 그리고 그들이 소문자 doctype을 인식하지 못하면 똑같이 할 것입니다. 따라서 브라우저는 HTML5 선언을 완전히 구현할 수 없으므로 대문자로 만들 필요가 없습니다.