개발관련이야기들/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에 정의되어 있다.
2. root element 이전에 반드시 DOCTYPE이 선언되어야 한다.
3. XML선언은 모든 XML문서에서 요구되지는 않지만 XHTML문서 프로그래머들은 모든 문서에 XML선언을 할것을 권장한다. XML선언이 문서에 있지 않으면 문서는 디폴트 케릭터 인코딩인 UTF-8 또는 UTF-16만을 사용할수 있다.
4. XHTML 네이스페이는 XMLNS에 의해 다른 XML 네임스페이와 함께 사용될수 있다. MathML 권고안과 같이 사용된 XHTML 예제
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 보다 우선순위가 높다.<!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">
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>
<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엘리먼트 포함금지