← DEVLOG
기술 노트2020.09.093 min read

XML 과 XHTML 의 차이점

마크업 언어로서 XML 과 XHTML 의 정의, 기존 HTML 의 한계, 두 규격의 특성과 쓰임 정리.

xmlxhtmlmarkup

이 글은 2020년 9월 백업 아카이브에서 복원된 글입니다.

XML, XHTML 이란 무엇이고 어떤 차이가 있을까요?

둘 다 마크업 언어로서 웹 문서 규격을 의미합니다. XML 은 W3C 에서 여러 특수 목적의 마크업 언어를 만드는 용도로 권장되는 다목적 마크업 언어이고, 이것을 기반으로 과거 HTML 기능과 결합하여 만든 게 XHTML 입니다.

기존 HTML 마크업 언어 특징

  • HTML User Agent 가 오류에 대해서 상당히 관대하다
  • 잘못된 태그 사용 또는 중첩되거나 닫히지 않은 태그 등으로 작성하여도 브라우저는 문제가 있는 부분을 허용하거나 무시하여 사용한다
  • Data 의 의미보다는 기술된 태그의 외향적인 표현에 집중되어 있다
  • 정보의 구조화 및 데이터 간의 연관성 표현과 유효성 검증이 어렵다

HTML 은 원래 마크업 언어를 만들기 위한 일종의 SGML 의 응용 프로그램입니다. SGML 은 상당히 복잡하기 때문에 실제로 대부분의 브라우저가 이를 따르지 않았고, 실제 웹에서 사용되는 HTML 은 SGML 의 영향을 받은 커스터마이징된 마크업 언어입니다. 이러한 기존의 HTML 은 SGML 기반의 응용 프로그램으로 사용자 편의성이 높지만 확장성과 융통성 부분이 단점으로 지적되어 왔습니다.

XML

  • 기존 HTML 의 한계를 보완하기 위해 만들어진 마크업 언어
  • 웹에서 HTML 의 고정된 어휘 이상의 것을 사용하고 싶은 욕구에서 시작됨
  • SGML 과 같은 메타 마크업 언어지만, 일반 Parser 를 더 쉽게 만들 수 있도록 단순화한 언어
  • XML 의 X 는 extensible 즉 확장성의 의미를 담고 있으며, 미리 정의된 태그가 아닌 커스텀 태그를 정의해 사용할 수 있다는 장점을 의미
  • HTML 과 같은 문서의 형태를 보여주는 게 아닌, Data 전달 및 표현에 초점이 맞춰져 있음
  • XML 은 표현과 내용이 완전 분리되어 Data 구조 및 내용 기술이 가능하며, Stylesheet 를 사용하여 다방면의 데이터 표현이 가능

XHTML

  • 기존 HTML 과 XML 의 장점을 하나로 합친 개념
  • 보다 구조화된 형식과 엄격한 문법을 갖고 있음
  • 향상된 웹사이트 검색기능과 복잡한 데이터 처리가 가능
  • 엄격한 규칙을 사용하고 있어 문서가 손상될 가능성이 있음
  • application/xhtml+xml 또는 text/xml 로 제공되는 경우 자동으로 XHTML 로 처리됨. 단, IE 환경에서는 타입을 인지하지 못해 다운로드 처리되므로 IE 에 한해서만 text/html 로 처리해 주는 것이 좋음

방명록

이 글에 대한 한 줄을 남겨주세요

0 / 140

불러오는 중...