XHTML 이란?
XHTML 1.0 은 html 4.01 방식과 동일한 문서 구조를 갖는 xml 이다. 즉, html 이 아니며, xml 구조를 가져감으로써, PC 인터넷 환경을 떠나 모바일 등 많은 외부 머신에도 작동할 수 있는 유연함 및 확장성을 가지고 있다. 또한 dtd 추가 등으로 인해 문서 구조를 확장할 수 있는 이점도 있다.
XHTML 작성법
다음은 xhtml 1.0 tranditional 버젼에 대한 예이다.
XHTML 1.1
XHTML 1.0 Strict 버젼에서 1.1로 변경된 점을 요약하면 다음과 같다.
XHTML 1.0 은 html 4.01 방식과 동일한 문서 구조를 갖는 xml 이다. 즉, html 이 아니며, xml 구조를 가져감으로써, PC 인터넷 환경을 떠나 모바일 등 많은 외부 머신에도 작동할 수 있는 유연함 및 확장성을 가지고 있다. 또한 dtd 추가 등으로 인해 문서 구조를 확장할 수 있는 이점도 있다.
XHTML 작성법
- 문서 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">
- xhtml 1.1 선언
- html 태그에 네임스페이스를 지정한다. 언어 속성은 변경해 줄 필요가 있다.
<html xmlns="http://www.w3.org/1999/xhtml" lang="utf-8" xml:lang="utf-8"> - 모든 태그들은 종료태그를 가져야한다. 기존 html 에서는 <br> 태그나 <img>, <hr> 태그 등은 종료 태그가 필요하지 않았으나, xhtml 은 xml 로서 반드시 종료 태그를 가져야한다. 즉, <br/>, <img src=”your image file”/>, <hr/> 로 작성해야한다.
- 모든 태그는 소문자로 작성되어야한다.
- 모든 속성 값들은 큰 따옴표로 둘러싸고 값을 가져아한다.
올바름 : <input type="text" size="4" value="1234" />
틀림 : <input type=text size=4 value=1234> - html 콘텐츠에 &를 사용하면 안된다. 이 엔티티를 표현해야 한다면 & 를 사용한다.
- 문서 구조는 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>
<!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로 변경된 점을 요약하면 다음과 같다.
- On every element, the lang attribute has been removed in favor of the xml:lang attribute (as defined in [XHTMLMOD]).
- On the a and map elements, the name attribute has been removed in favor of the id attribute (as defined in [XHTMLMOD]).
- The "ruby" collection of elements has been added (as defined in [RUBY]).