본문 바로가기

TECH/인터넷과IT

XHTML? HTML?

반응형

HTML은 현재 4.01까지 나와있습니다. 이 HTML 4.01을 XML을 이용하여 재구성한 것이 XHTML입니다. XML은 문서를 구성하고 데이터를 구조화하는데 유용하며 현재는 안쓰는 곳이 없다고 할 정도로 웹에서 필수가 되었습니다. XML에 대한 자세한 이야기는 이곳에서 다루지 않겠습니다. 

XHTML을 사용하는 이유는? 웹표준 준수 및 디자인과 데이터의 분리, 웹접근성 향상등 이제는 필수 입니다. 현재 XHTML은 1.1까지 나왔습니다. 

XHTML은 HTML 4.01을 재구성 한 것이기 때문에 HTML 4.01을 안다면 크게 어렵지 않습니다.

몇가지 규칙만 지켜주면 됩니다.

 

그 전에 간단한 용어를 익히도록 하겠습니다.

엘레멘트(element) :태그를 뜻합니다.

애트리뷰트(attribute) : 태그의 속성을 뜻합니다.

문서타입정의(DTD) : Document Type Definitions 웹페이지의 문서형식을 뜻합니다.

  

그럼 이제 XHTML의 규칙을 알아 보겠습니다.

 1) XML 문서 이므로 XML 선언을 한다.

<?xml version="1.0" encoding="UTF-8"?>

하지만 IE의 버그로 인해서 이 것을 선언 할 경우 IE는 비표준 모드로 동작합니다.

때문에 실무에서는 적용하지 않지만 앞으로 IE6이 IE7로 모두 옮겨간다면 적용해도 괜찮을 겁니다.


2) DTD를 선언한다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/strict.dtd">

문서타입은 단순히 “나는 아무개 문서입니다.”를 나타내 주는 것으로 이 선언을 바탕으로 웹브라우저의 웹페이지 랜더링 방식이 변하게 됩니다. XHTML에는 이런 DTD가 3가지 있습니다.

strict.dtd

W3C에서 사실상 가장 권장하는 DTD 입니다. Strict 라는 단어의 뜻에서 알 수 있듯이 문법적인 오류를 전혀 허용하지 않는 DTD 선언입니다.

transitional.dtd

Transitional Mode 의 경우 XHTML 문법을 지키는 것은 마찬가지 이지만 Deprecated Element의 사용이 허용되며, body Element의 bgcolor, text 등의 Attribute 를 사용할 수 있습니다.

frameset.dtd

Frameset Mode의 경우는 이 사이트의 경우처럼 브라우저 창을 2개 이상으로 분할하여 사용하고 싶을 때 Frameset 페이지에 선언해 줍니다.

 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

이것은 W3C에서 모든 새로운 웹 페이지에 적용하도록 권고하고 있습니다.

 

3) 문서들이 잘 구성되어야 합니다.

<span><a></span></a> ( X )

<span><a></a></span> ( O )

 

4) 엘레멘트와 트리뷰트 모두 소문자이어야 합니다.

<A HREF=””></A> ( X )

<a href=””></a> ( O )

 

5) 엘레멘트 모두 닫혀야 합니다. 빈 엘레멘트도 닫혀야 합니다.

<div> <hr> <img> ( X )

<div></div> <hr/> <img/> ( O )

 

6) 애트리뷰의 값은 반드시 따옴표로 둘러싸야 합니다.

<img src=abc.com/> ( X )

<img src=”abc.com”/> ( O )

 

7) 애트리뷰트 최소화가 없습니다. 모든 애트리뷰트에는 값이 필요합니다.

<input type=”radio” selected/> ( X )

<input type=”radio” selected=”selected”/> ( O )

 

위의 사항들이 가장 기초적이며 필수적인 것들 입니다.

그외 XHTML에서 사용하지 말아야 하는 엘레멘트들도 있습니다.

 

http://www.w3schools.com/xhtml/xhtml_reference.asp

위의 사이트에는 XHTML에서 허용하는 엘레멘트가 나열되어 있습니다.

나열된 것 외의 엘레멘트는 사용하지 않도록 주의해야 합니다.

 

각 엘레멘트들의 특성과 속성등은 틈틈히 익혀두어야 웹접근성을 공부할 때 도움이 됩니다.

어차피 HTML 4.01에서 다뤘던 것들과 많이 다르지 않으므로 공부에 큰 어려움을 없을 것 입니다.

허용 가능한 엘레멘트들의 사용법은 HTML 4.01에 대한 문서를 참고해도 문제없습니다.

XHTML 자체가 HTML 4.01을 재구성 한 것이기 때문입니다.

반응형