개발관련이야기들/W3C

XHTML의 특징 몇가지..

안돌이 2006. 11. 22. 20:22
나도 xhtml한번 사용해볼까? 하고 덤볐다가 시작부터 막혀서 결국 www.w3c.org에서 권고안을 찾아봤다. 간단한 문장들인데도 해석이 안된다 젠장!! ㅡ_ㅠ(틀린해석 다수)




1. root element 는 반드시 XHTM NameSpace를 위해 xmlns를 선언해야한다. XHTML NameSpace는 http://www.w3.org/1999/xhtml에 정의되어 있다.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

2. root element 이전에 반드시 DOCTYPE이 선언되어야 한다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

3. XML선언은 모든 XML문서에서 요구되지는 않지만 XHTML문서 프로그래머들은 모든 문서에 XML선언을 할것을 권장한다. XML선언이 문서에 있지 않으면 문서는 디폴트 케릭터 인코딩인 UTF-8 또는 UTF-16만을 사용할수 있다.
<?xml version="1.1" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
// xml:lang 이 lang 보다 우선순위가 높다.

4. XHTML 네이스페이는 XMLNS에 의해 다른 XML 네임스페이와 함께 사용될수 있다. MathML 권고안과 같이 사용된 XHTML 예제
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
  <title>A Math Example</title>
  </head>
  <body>
  <p>The following is MathML markup:</p>
  <math xmlns="http://www.w3.org/1998/Math/MathML">
     <apply> <log/>
       <logbase>
         <cn> 3 </cn>
       </logbase>
       <ci> x </ci>
     </apply>
  </math>
  </body>
</html>

5. HTML4.0과 다른점

1). Documents는 구조화되어야 한다.
<p>here is an emphasized <em>paragraph</em>.</p>

2). 엘리먼트와 어트리뷰트 이름은 소문자여야 한다.

3). 모든 엘리먼트를 닫아야한다.
<p> </p>

4). 모든 어트리뷰트 값은 인용부호로 묶어야한다.
<td rowspan="3">

5). 모든 속성은 속성값이 같이 선언되어야한다.

6). Empty 엘리먼트는 반드시 /로 닫아야한다.

7). script와 style엘리먼트는 #PCDATA 컨텐트를 가져야한다.
/* HTML에서는 script내에 document.write("<\/p>"); 닫는태그가 안먹히기 떄문에 역슬레쉬\를 해줘야했다.

8). 엘리먼트에 id 어트리뷰트를 선언해라
/*name어트리뷰트는 XHTML 다음버젼에서 제거될 것이다.

6. 엘리먼트 금지

a -> 다른 a엘리먼트 포함금지
pre -> img, object, big, small, sub, sup 엘리먼트 포함금지
button -> input, select, textarea, label, button, form, fieldset, iframe, isindex 엘리먼트 포함금지
label -> label엘리먼트 포함금지
form -> form엘리먼트 포함금지