XML
Extensible Markup Language 의 약자로,
마크업 언어를 정의하기 위한 언어, 확장이 가능한 언어이다.
HTML과의 비교
HTML과 흡수한 markup language이지만 Tag를 정의할 수 있고 데이터를 기술할 수 있는 마크업 언어이다.
XML은 데이터가 무엇인지에 초점을 맞춰 데이터를 기술하기 위해 고안되었고
HTML은 데이터가 어떻게 보일지에 초점을 맞춰 데이터를 표시하기 위해 고안되었다.
때문에
XML은 데이터를 구조화시키는데 사용되고
HTML은 동일한 데이터를 표시하고 꾸미는데 사용된다.
탄생배경
XML이란 전자적으로 데이터를 교환하기 위한 표준이다.
HTML의 한계를 극복하고 SGML의 복잡함을 해결하는 방안으로써 탄생하였다.
웹 상에서 구조화된 문서를 전송 가능하도록 설계된 표준화된 텍스트 형식의 마크업언어로써
인터넷에서 바로 사용가능한 문서를 표현하는 표준이다.
인터넷을 통한 거대 네트워크의 연결이라는 패러다임이 생겨났다.
이 패러다임에는 문제점이 발생했다.
다른 기종 간의 응용 시스템 통합 문제
서로 다른 포맷의 데이터 통합문제
상황에 따른 웹 페이지 레이아웃 수정, 상호 연결 가능한 파일 등 웹을 수용하고 활용하는데 발생하는 문제
이 문제들을 해결하는 방안으로써 XML이 등장하였다.
특징
기존 웹의 인터넷 기반 프로토콜, 매커니즘과 함께 사용할 수 있다.
언어에 대해 독립적이고 여러 Application을 사용 가능하도록 지원한다.
사용자 정의 태그를 사용한다. 때문에 정보 교환이 용이하다.
문서 재사용이 가능하다.
웹에서 정보 교환이 가능하다.
자료의 표현과 내용이 분리되어있어 정확한 검색이 가능하고 교환에 용이하다.
XML은 어떠한 데이터를 설명하기 위해 이름을 임의로 지은 태그로 데이터를 감싼다.
구성요소
DTD(Document Type Definition)
작성하는 문서가 어떤 문서인지에 대해서 정의하는 것.
Style Sheet
글, 문단 등에 대한 양식과 서식에 해당하는 문서.
ex) CSS, XSL(extensible Stylesheet Language)
확장성 연결 언어
XLink 방식 : 1 대 다, 다 대 1 관계를 통해 마크업 언어를 링크시킬 수 있다.
XPointer : 문서의 특정 부분만 링크시킬 수 있다.
Parser
xml 해석을 위한 프로그램