HTML5 문법 특징

  • HTML5는 HTML4.01이나 XHTML1.0문법을 모두 허용하기 때문에 기존에 사용하던 마크업 문법을 그대로 사용할 수 있음.
  • 가령 HTML4.01에서 종료 태그 생략을 허용했던 방식이나 XHTML1.0에서 빈 요소 선언시 <요소명 />형식으로 기술했던 방식 모두를 허용함.
  • 이는 하위 호환성을 위한 정책으로, 과거 HTML4.01로 제작된 문서가 문법적인 느슨함으로 인해 발생했던 문제가 되풀이 될 수 있기 때문에 좀 더 엄격한 규칙을 정하고 마크업 문서를 장성하는 것이 바람직할 것임

종료 태그의 생략

  • HTML5는 종료 태그를 생략할 수도 있음. 그러나 모든 요소가 종료 태그를 생략해도 되는 것은 아니기 떄문에 종료 태그가 생략할 수 있는 요소를 사전에 확인 해야 함.
  • HTML5에서 종료 태그를 생략하는 것이 가능하다고 하더라도 기존 XHTML1.0의 규칙처럼 시작과 종료 태그를 정확히 명시하여 정형식(Well-Formed)구조로 마크업 할 것을 권장함.

대소문자의 사용

  • HTML5는 시작 및 종료 태그는 물론 속성에 대문자 또는 소문자를 사용할 수도 있음. 하지만 기존 XHTML1.0규칙처럼 소문자만을 사용할 것을 권장함

빈요소(Empty Element), 독립형 태그

  • HTML에서 meta, link, img, br,input 등 종료 태그를 가지고 있지 않은 요소를 ‘빈 요소(empty element)’라고 하는데, 기존 HTML4.01에서는 형식으로, XHTML1.0에서는 형식으로 선언해야 하며, HTML5에서는 두가지 방식 모두 허용하고 있음. 그러나 기존 XHTML1.0규칙처럼 빈 요소는 />형식으로 사용할 것을 권장함

속성(attribute)과 값(value)

  • 논리 속성의 경우 속성값을 지정 또는 생략할 수 있음. 기존 XHTML1.0 규칙은 중복 선언하는 방식이므로 속성값에 속성명을 지정하는것을 권장함
  • 속성 값은 인용부호를 생략하거나 홀따옴표 겹따옴표 등으로 구분할 수도 있음. 하지만 정확한 구분을 위하여 겹따옴표 사용을 권장함

잘못된 중첩 사용 불가능, 속성의 중복 사용 불가능, 문서참조

  • 시작태그와 종료태그의 중첩에 문제가 발생하지 않도록 해야함.
  • 시작태그에 동일한 속성을 중복하여 선언할 수 없음.
  • 특수문자의 경우 , Characters Entity Name이나 Characters Entity Code로 변환하여 마크업 해야함.

HTML5의 Doctype

  • HTML5의 문서형 선언은 기존 HTML의 목적과 달리 모든 웹 브라우저에서 표준 모드 (Stanards Mode)로 렌더링 될 수 있도록 하는 역할만을 담당.
<!DOCTYPE html> <!-- html5 -->
<!DOCTYPE html PUBLIC "-//W3c//DTD XHTML 1.0 transitional//EN""http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd">
<!-- xhtml 1.0 -->

HTML5의 인코딩

  • HTML5문서 에서 간소화된 문자 인코딩 지정방법
<meta charset="utf-8"> <!-- html5 -->
<meta http-equiv="content-type" content="text.html; charset=utf-8" />
<!-- xhtml1.0 -->

HTML5 문법 결론

  • HTML5는 XHTML1.0보다 좀더 대충해도 된다. 하지만 대충하지 않을것을 권장한다
  • XHTML1.0문법으로 작성하면 HTML5에서도 문제를 일으키지 않는다.
  • HTML5문법으로 작성하면 XHTML1.0에서 문제를 일으킬 수 있다.
  • 예전 HTML4.01에서 느슨한 문법 때문에 많은 문제들이 발생했기 때문