"가장 흔히 사용되는 DOCTYPE 코드는 일반 형식(Transitional)과 엄격한 형식(Strict)으로 나누어 지게 된다.
HTML 4.01 Transitional은 예전에 있었거나 없어진 태그도 지원하며,
<font>에 지정된 스타일도 제대로 표현하여 준다. HTML 4.01 Strict은 HTML을 엄격하게 적용한다.
<font> 태그에 적용된 스타일 보다는 CSS파일에서 지정된 스타일을 지
켜 표현 해야 한다. 이러한 DOCTYPE 선언에 차이는 다음과 같다. 만약 웹사이트에
BODY {font-family: Helvetica, sans-serif; font-size: 200%;}와 같은 스타일을 지정한 다
음 서로 다른 DOCTYPE을 지정한 경우 아래와 같이 표현된다.
DOCTYPE을 규정하는 가장 좋은 방법은 Strict 형식을 사용하는 것이다.
이것은 CSS를통해 모든 HTML 태그의 속성을 모두 자유 자재로 규정할 수 있기 때문이다.
즉, b {fontweight:normal;} 라고 적는 다면 더 이상 <b>는 굵은체로 표시되지 않는다.
그러나, 아직 브라우저 호환성 때문에 <embed>나 비표준 태그를 사용해야할 필요가 있으므로
현재상태에서 가장 최상의 브라우저 호환성을 제공해 주는 문서 형식은 XHTML 1.0Transitional을 사용하는 것이다."
- 실전웹표준가이드 40page 에서 발췌, KIPA, 2005.
위에 설명을 먼저 한번 보시면 아래의 글이 좀더 쉬우실겁니다.
처럼 DOCTYPE은 말 그대로 해당 문서의 형식을 미리 알려주는 역활을 합니다.
1.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1번의 경우가 현재 가장 범용적으로 쓰이고 있는 선언 형식입니다.
언어 규격을 XHTML 1.0을 따르며 문법 형식을 Transitional 형식으로 작성 했다는
뜻입니다. XHTML 1.0 의 경우 현재 최신 HTML 권고 표준인 HTML 4.01 의 형식을 포함 하고 있습니다.
2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
이경우는 XHTML 형식의 페이지 작성은 하지 않는 경우에 언어 규격을 HTML 4.01 형식을 따르겠다는 뜻입니다.
그리고 문법 형식에 대해서 loose.dtd를 참조 했습니다. (아마 Transitional 보다 더 덜엄격한 문법 형식 인걸로
알고 있습니다)
3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
이경우에는 문법 형식에 대해서 생략되었지만 작성 문법 참조 경로에 보면 strict로
되어 있습니다. 말 그대로 STRICT 형식의 문법을 사용한것으로 간주 하고 페이지를 렌더링 하겠지요.
(근데 브라우저 마다 틀릴수도 있습니다 -..-)
4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
웹 표준 선언에 위배는 아닌것으로 알고 있습니다. 근데 좀더 정확하게 선언해주는게 좋겠죠?
2번의 경우와 유사한 선언 입니다.
-------------------------------
실제 개발할때 1번의 형식을 가장 많이 사용합니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
단, xhtml 1.0으로 선언 할때는 html태그에 xmlns 이라는 네임스페이스에 위의 링크를 지정 시켜줍니다.
아래는 HTML 버전별 표준 문서 선언 형식입니다.
1) HTML 2.0 표준 문서 형식
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
2) HTML 3.2 표준 문서 형식
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
3) HTML 4.01 표준 문서 형식
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
4) XHTML 1.0 표준 문서 형식
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
5) XHTML 1.1 표준 문서 형식
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">