XHTML 이란?
XHTML 1.0 은 html 4.01 방식과 동일한 문서 구조를 갖는 xml 이다. 즉, html 이 아니며, xml 구조를 가져감으로써, PC 인터넷 환경을 떠나 모바일 등 많은 외부 머신에도 작동할 수 있는 유연함 및 확장성을 가지고 있다. 또한 dtd 추가 등으로 인해 문서 구조를 확장할 수 있는 이점도 있다.

XHTML 작성법
  1. 문서 header 에  xhtml 을 선언한다. (html 작성시에도 문서 선언은 중요하다. )
    이 문서 선언이 있지 않는 한, 브라우저는 구버젼 방식(2.0, 3.0)으로 화면을 표현하므로, 표준에 의해 의도한 문서 화면이 안 나타날 수 있다. (strict 은 엄격한 지원으로서 표준에 의거하여 작성하지 않으면 정상적으로 표현하지 않는다. tranditional 은 기존 방식을 지원한다. 대세는 strict 이지만, 현재 반드시 strict 을 지원하기 위해 대규모의 소스를 수정할 필요까지는 없다. 따라서 tranditional 을 채택하면 무난하게 작업을 진행 할 수 있다)

    xhtml 문서 최상단에 아래의 문장을 기술한다.
    • xhtml 1.1  선언
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    • xhtml 1.0 tranditional 선언
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    • xhtml 1.0 strict 선언
      <!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org./TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. html 태그에 네임스페이스를 지정한다. 언어 속성은 변경해 줄 필요가 있다.
    <html xmlns="http://www.w3.org/1999/xhtml" lang="utf-8" xml:lang="utf-8">
  3.  모든 태그들은 종료태그를 가져야한다. 기존 html 에서는 <br> 태그나 <img>, <hr> 태그 등은 종료 태그가 필요하지 않았으나, xhtml 은 xml 로서 반드시 종료 태그를 가져야한다. 즉, <br/>, <img src=”your image file”/>, <hr/> 로 작성해야한다.
  4. 모든 태그는 소문자로 작성되어야한다.
  5. 모든 속성 값들은 큰 따옴표로 둘러싸고 값을 가져아한다.
    올바름 : <input type="text" size="4" value="1234" />
    틀림 : <input type=text size=4 value=1234>
  6. html 콘텐츠에 &를 사용하면 안된다. 이 엔티티를 표현해야 한다면 &amp; 를 사용한다.
  7. 문서 구조는 html 4.01 과 동일하다.

다음은 xhtml 1.0 tranditional 버젼에 대한 예이다.
<?xml version="1.0" encoding="UTF-8" ?>
<!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">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>slothink.tistory.com : 나는 geek이다</title>
</head>
<body>
</body>
</html>

XHTML 1.1

XHTML 1.0 Strict 버젼에서 1.1로 변경된 점을 요약하면 다음과 같다.
  1. On every element, the lang attribute has been removed in favor of the xml:lang attribute (as defined in [XHTMLMOD]).
  2. On the a and map elements, the name attribute has been removed in favor of the id attribute (as defined in [XHTMLMOD]).
  3. The "ruby" collection of elements has been added (as defined in [RUBY]).
참조 : http://www.w3.org/TR/xhtml11/changes.html#a_changes

XHTML 1.1 Strict 기본 템플릿

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
</body>
</html>

XHTML 1.0 Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
</body>
</html>

HTML 4.01 Strict

<!DOCTYPE html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
</body>
</html>

HTML 4.01 Transitional

<!DOCTYPE html public "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
</body>
</html>

+ Recent posts