XML의 세계에 입무하기 전에 간단하게 HTML의 한계
XML이 등장한 배경에 대해 살펴보도록 합시다.

1. HTML 의 한계
1992년에 HTML 스펙 1.0 이 발표된 이후 오늘날의 인터넷 혁명을 가능하게 한 상당히 성공적인 언어인 HTML에게도 다음과 같은 한계들이 존재하고 있습니다. 결국 이러한 한계들이 새로운 마크업 언어에 대한 필요성을 고려하게 만들게 된 것이지요. 그럼 HTML이 근본적으로 갖고 있는 한계를 살펴보도록 합시다.

  • 유효하지 않은 HTML
    벤더들마다 나름대로 특화된 확장을 도입, 웹브라우저간, 플랫폼간의 동질성을 유지하기 어렵다.

  • 깨어진 링크
    웹 페이지가 지워지거나 다른 호스트로 옮겨졌을 때 그 페이지에 대한 모든 URL 참조자들은 유효하지 않다.(링크가 자주 깨진다.)

  • 고정된 문법
    TML의 요소와 속성들의 집합이 고정되어 있어서 HTML은 고정된 문법체계를 갖는다고 한다. 새로운 응용프로그램이나 새로운 웹 기술들을 다루는데 적합하지 않다.

  • 메타데이터에 대한 제한된 지원
    검색 엔진들이 원본 도큐먼트에 관한 주요한 정보들을 뽑아낼 수 있는 방법이 제한 되어 있다.

  • 구조화된 태그의 부재
    HTML이 구조화된 태그들(예를 들면 , 또는 <DIV>과 같은) 을 지원함에도 불구하고 대부분의 웹 응용프로그램과 웹 저작자들은 이러한 가능성을 무시하고 단지 도큐먼트의 시각적 레이아웃을 제어하는데만 사용하고 있다. 이러한 비구조화된 접근은 문서의 트리를 따라서 검색하는 것을 어렵게 한다.

  • 데이터 교환의 어려움
    HTML의 제한된 태그 모임들이 웹 상에서 정보를 표현하는 목적으로 설계되었기 때문에 태그로 묶인 데이터 필드에 따라 데이터를 뽑아내는 것이 거의 불가능하다.

  • 현대적 특징들의 부재
    어떤 표준을 따르더라도 현대적인 많은 기술들에 부합하기 어렵다.

  • ▲ TOP
    2. XML 의 등장
    XML은 결코 새로운 마크업 언어가 아닙니다. 이미 1980년대 초반에 미국무성에서 군사적 목적으로 만들어진 GML(General Markup Language)로부터 비롯하여 1986년에 ISO의 표준이 되어 산업계 전반의 광범위한 문서화 작업을 위해 GML로부터 확장된 SGML(Standard General Markup Language)은 그로부터 거의 20년간이나 널리 사용되어 왔습니다. 따지고 보면 HTML도 그 시작은 유명한 물리학 연구소인 CERN에서 과학자들 사이의 연구 성과를 쉽게 공유하기 위해 만든 SGML 조각에 불과하였으며, XML도 SGML과는 완벽한 호환성을 유지하면서 인터넷에 더욱 적합하게 발전시킨 SGML의 한 부분집합이라고 볼 수 있습니다. 그렇지만 XML은 SGML보다 훨씬 간단하고 견고한 규칙을 갖게 재구성함으로써 결과적으로 관련 도구들을 더욱 값싸게 개발하고 인터넷에 더욱 잘 들어맞게 된 것이죠. 이런 점들이 결과적으로 XML을 쉽게 채택할 수 있도록 하였고, 관련 기술들이 활짝 꽃피게 되는 계기를 마련하게 된 것입니다.
    SGML과 XML의 간략한 장점은 다음과 같습니다.

  • SGML/XML 이 갖는 강점
    • 좀 더 유효하게 입력되는 것을 허용하고 데이터 엔트리를 쉽게 만들고 좀 더 읽기 쉽게 만듦으로써 원본 도큐먼트의 질이 향상될 수 있다.
    • 도큐먼트들이 더 합리적으로 유지 보수 될 수 있으며, 결과적으로 라이프 사이클이 향상된다.
    • 인쇄/출판 비용이 감소한다.
    • 정보의 재사용이 쉬워지므로 도큐먼트의 가치를 증가시킨다. (SGML/XML로 만들어진 문서들은 하이퍼텍스트처럼 표현되어 출력되거나 저장될 수 있고, 데이터베이스를 통해 접근될 수 있다.

  • XML의 등장
    • 너무 제한적인 HTML의 한계와 표준화된 DTD 없이는 너무 복잡한 SGML의 사이에서 고안된 SGML의 부분집합. 흔히들 XML은 SGML의 90%에 육박하는 가능성을 지니고 있으며 복잡성은 SGML의 단지 10%만을 갖고 있는 기술이라고 얘기한다.

  • XML의 특징
    • 확장성(Extensibility) : 어떤 문서 객체(instance)를 위하여 새로운 요소와 속성을 정의 가능케 하는 것
    • 깊은 구조화 가능성 : 인위적인 중첩을 허용하는 것
    • 유효성 : 사용전 데이터의 검사

    자, 이제 HTML이 좀 문제가 있다는 점과 XML이 이러한 문제점들을 고려해서 만들어 지게 된 역사적 필요성에 대해 어렴풋이나마 이해하셨나요? 그러면 이제 본격적으로 XML 스펙 읽기에 들어가보도록 합시다.

  • 저작권 정보


    본 강좌는 Prentice Hall 출판사의
    "XML: The Annotated Specification"을 일부 참고하였음을 밝힙니다.

    본 강좌에서 사용하고 있는 XML 1.0 스펙의 한국어 번역본은 윈도우 사용자 그룹에 그 저작권이 있으며, 이 스펙 전체가 단 한 구절도 훼손되지 않는 경우에 한하여 배포될 수는 있으나 기타 상업적인 목적으로의 전재 및 인용은 금합니다.

    본 강좌의 저작권 또한 윈도우 사용자 그룹에 있으며 무단 전재 및 인용을 금합니다

    + Recent posts