XHTML1.0 와 XHTML1.1의 차이

사용자 삽입 이미지


XHTML의 기본은 XML과 HTML의 장점의 혼용이였습니다.
서로 같은 작성방법을 가지고 있는 XML과 HTML은 마크업(Mark Up)이라는 언어로 정보를 가지고 표준화 또는 데이터로서의 기능을 가지거나(XML) 또는 정보를 담고 표현해주는(HTML) 역할을 담당해왔던 웹문서 였습니다. 이 두개의 마크업 언어를 하나로 통합하고 정보로서의 가치 및 표현이 가능한 문서로서 표준화 하여 재활용 하도록 추진하고 발전시키고자 했던 것이 XHTML 1.0 이였습니다.


HTML4.01 (HyperText Markup Language)
HTML 의 기본 배경은 SGML(Standard Generalized Markup Language / ISO 8879)에서 웹에 필요한 엘리먼트만을 새로이 재선언 한 언어입니다. 웹이 시작되면서 부터 HTML이라는 언어는 시작 되었으며 HTML4.01 버젼을 가장 최상위 버젼으로 하고 HTML5가 현재 제작되고 있습니다.


HTML4.01의 특징
HTML은 웹에 필요한 기본적인 항목들을 DTD를 활용하여 선언하여 놓고 그에 따라 문서를 작성하는 방식입니다. 즉 문서를 만드는데 필요한 도구들의 집합이라고 볼수 있습니다. 확장이 불가능하지만 정보를 보여주고 표현하는데에는 문제점이 없을정도로 확장되어있습니다.


XML1.0 (Extensible Markup Language)
XML의 기본 배경은 SGML에서 가장 간단하고 손쉽게 정보의 정의를 선언할수 있도록 한 언어로 자유롭게 정보를 확장할수 있습니다.


XML의 특징
XML 은 특별한 형식을 가지고 있지는 않습니다. 하지만 작성된 웹문서를 재활용할수 있는 방안들이 많습니다.(XST , Xpath , XLink 등) 이유는 만들어진 계기 자체가 정보를 작성함에 있어 간단하고 손쉽게 작성할수 있도록 하기 위해 HTML처럼 미리 정의해 놓은 엘리먼트가 없기 때문입니다. 그렇기 떄문에 정보를 담기에는 최적의 환경을 제공합니다. 하지만 반대로 말한다면 정보가 어떠한 의미로 어떠하게 사용해야 하는것인지에 대해 정확하게 선언해야 합니다.(DTD를 활용)



XHTML1.0 (The Extensible HyperText Markup Language 1.0)
XHTML1.0은 부제가 곧 XHTML의 이름인 것과 같이 “확장이 가능한 웹문서” 라는 것 이며 XML의 데이터로서의 기능과, HTML의 표현이 가능하도록 하는 방법을 가장 큰 이슈로 발전하였습니다.


XHTML1.0의 특징
XML 의 DTD작성 방법을 이용하여 기본적으로 사용하는 XHTML DTD 와는 별개로 또 추가적인 DTD를 사용(확장/Extensible)하여 데이터로서의 새로운 정보의 분류와 수없이 많은 디바이스들에게 현문서의 정보양식 및 표준, 확장을 제시합니다.
각 엘리먼트는 어떠한 의미를 가지고 어떠한 방법으로 표현하는 가에 대한 것이 중점적으로 설명되며, 그것은 XHTML을 지원하는 모든 디바이스는 지켜야만 합니다.


XHTML1.1(Module-based XHTML)
XHTML1.1 은 부제와 같이 모듈을 기본으로 하는 XHTML입니다. XHTML을 추상적인 기준에 따라 분류하여 일정한 목적에 따라 필요 있는, 없는 정보를 분류하고 그에 따른 모듈화된 엘리먼트를 적용하도록 하는 방향으로 지원합니다.
모듈화를 기본으로 하기 떄문에 실제적으로 엘리먼트의 소개 보다는 모듈적인 부분에서 접근하게 됩니다. 엘리먼트의 의미 보다는 모듈의 사용처 및 모듈에 대한 설명, 그리고 그런 모듈을 만드는 방법(XHTML 모듈방법론 / XHTML™ Modularization 1.1 )을 소개하며 이런 방법론 및 기본이 되는 모듈을 총체적으로 XHTML1.1이라 칭합니다.


XHTML1.1의 특징
가 장 큰 기준은 사용하는 엘리먼트는 XHTML1.0과 크게 틀리지 않지만. XHTML1.1에서 추가된 루비요소(ruby) 와 가상모듈(Abstract Modules) 그리고 모듈화가 되어있는 MOD파일이 리스트화 되어있으며. 1.1은 이런 MOD를 가져오거나(include) 또는 베재(igone)하여 새로운 DTD를 생성하게 됩니다.



----------------------------------------------------------------------------------


XHTML1.0와 XHTML1.1의 차이
XHTML1.0 (이하 1.0)와 XHTML1.1(이하 1.1)의 실제 엘리먼트의 차이는 거의 없습니다.(1.1에 루비요소만 추가) 즉 1.0을 사용하던 퍼블리셔는 1.1의 유효성 검사를 패스하는데는 큰 문제가 없습니다. 1.0으로 검사를 통과했다면 1.1도 당연하게 패스가 됩니다. 하지만 1.0와 1.1는 접근하는 개념이 틀리며 그것이 "가상모듈"입니다. 1.0을 사용할수 있다 라는 전제하에 아래의 설명을 보셔야 합니다.


루비요소(ruby)

사용자 삽입 이미지

같은 뜻을 가진 서로 다른 언어를 표현하기 위해 나온 엘리먼트.
실제적으로 공공장소 에서 기본적으로 표현하는 경우인 "비상구" 는 EXIT 라는 영문으로도 사용합니다. 그에 따라 한글 "비상구"와 영문"EXIT" 는 같은 뜻이며 혼용으로 사용하기 위해 위와 같이 표현할수 있도록 해주는 것이 루비 요소 입니다.



가상(추상)모듈(Abstract Modules)

사용자 삽입 이미지


실제적으로 모듈이 된것이 아닌, 모듈이 된거 같은 의미를 가지고 있다 라는 뜻으로 모듈 이라는 말보다는 가상모듈 이라는 것으로 실제적으로 XHTML을 모듈화를 표현 하였다.



MOD(Module Definition)

사용자 삽입 이미지


모든 웹문서는 DTD에 의해 정의되고 브라우저에 의해 표현됩니다. 가상모듈 을 포함한 모든 DTD를 분해하여 하나씩의 모듈의정의를 내린 DTD언어로 된 문서입니다. 실제적으로 1.1의 DTD는 이런 MOD들이 모여서 새로운 DTD가 됩니다.


------------------------------------------------------------------------------


XHTML1.1로의 전환의 이유

W3C에서는 이유를 아래와 같이 설명하고 있습니다.


 

“단 순히 웹 문서에만 사용되던 HTML이 다양한 분야와 기기(모바일 기기, 디지탈 TV 등)에 점점 더 많이 적용되고 있는데 이들 각각은 서로 요구하는 조건이나 구현상의 한계가 다르므로 기존의 규격을 일괄적으로 적용시키기가 어렵다.”

 

“이 런 문제를 해결하기 위해 도입된 모듈화를 통해서 서비스나 기기를 디자인할 때 표준에 맞게 만들어진 블록을 사용하고, 표준에 맞는 방법으로 어떤 블럭을 사용했는지 알려주는 방식으로 해당 기기가 어떤 모듈을 지원하는지 컨텐츠 커뮤니티(content community)에 명확하게 알려줄 수 있다. 그러면 컨텐츠 커뮤니티는 필요한 특정 모듈을 지원하는 이미 만들어진 기반(installed base)에만 신경을 써서 컨텐츠를 만들어낼 수 있다.”

“표준화된 방식을 사용함으로써 소프트웨어는 기기에 맞게 컨텐츠를 처리할 수 있고, 기기는 필요한 모듈을 처리하기 위한 소프트웨어를 자동으로 불러올(load) 수 있게 된다.”

 

“또한, 모듈화와 XML의 확장성을 이용해서 XHTML 표준을 어기지 않고도 XHTML 문서의 레이아웃과 디자인의 확장성을 높일 수 있다.”


즉 일괄적인 문서에 디바이스를 맞추는것이 아닌 애초에 디바이스를 고려한 웹문서를 제작할수 있도록 하는 것을 기본 목표로 합니다. 불필요한 정보와 디바이스에 따른 정확한 컨덴츠를 지원하여 표준이라는 이름에 더 맞도록 지원하도록 하는것을 기본으로 합니다. 또한 XHTML이라는 장점으로 브라우져에게는 확실하게 문서의 정보를 보여줄수 있다 라는 장점을 가질수 있습니다.

---------------------------------------------------------------------------------


마치며
XHTML1.1 은 XML의 특징과 HTML의 특징을 가져온 XHTML1.0을 기반으로 하며 1.0이 웹문서의 표준화를 기본컨셉으로 하였다면 1.1은 표준화를 기본으로 하여 추상적인 정의로 엘리먼트를 모아서 새로운 모듈을 만들고 그런 모듈들끼리 모아서 사용자에게 효율적인 정보 제공을 위한 DTD 및 웹문서를 만들기 위해 만들어 진 언어입니다.


아직은 1.1이 이른 발전일지 모르지만, 이미 XHTML은 새로이 발전하고 있으며 1.1을 한단계 더 업한 XHTML2.0 에서는 모듈화 뿐만이 아니라 좀더 구조적으로 변화하고 표현하는것이 적어지는 확실한 구조적인 모습으로 새로이 변모하고 있습니다. 1.1을 좀더 확실하게 이해 하고 사용할수 있다면 새롭게 다가오는 웹문서의 미래에 좀더 유연하게 대처할수 있지 않을까 한번 생각해봅니다.

'Web(웹) Study > XML & XSL' 카테고리의 다른 글

XHTML (Extensible Hypertext Markup Language)  (0) 2008.07.01
자바스크립트에서 XML 생성  (0) 2008.03.26
xsl사용하기  (0) 2008.01.18
xml을 양식화하기  (0) 2008.01.18
내부 dtd선언  (0) 2008.01.18

+ Recent posts