tag
형식을 사용한다.다음은 XML 코드 예시이다.
<student>
<name>
김학생
</name>
<age>
20
</age>
</student>
텍스트만 전달해야 한다면 HTML로도 큰 불편함이 없을 것이다.
하지만 일반적인 텍스트가 아닌 다음과 같이 구조를 가진 정보를 전달해야 한다면?
이름 | 학번 | 전공 | 나이 |
---|---|---|---|
김XX | 20230101 | 컴퓨터공학과 | 20 |
이XX | 20230102 | 컴퓨터공학과 | 21 |
데이터를 주고 받는 상호간 협의가 된 형식이어야 할 것이다.
그 상호간의 협의가 된 형식 중 하나가 바로 XML이다.
(본문에서는 다루지 않을 예정이지만 다른 형식으로는 JSON이 있다.)
XML과 HTML의 차이점은 크게 네가지가 있다.
XML은 데이터 "교환"이 목적이다.
즉 데이터 저장과 전송을 목적으로 만들어진 마크업 언어이다.
HTML은 데이터 "표현"이 목적이다.
XML은 위에 예시로 든 것 처럼 사용자가 태그를 정의해서 사용한다.
반대로 HTML은 <html>
<head>
<body>
와 같이 정해진 구조와 형식에 따른 태그를 사용한다.
XML의 경우 다목적 마크업 언어이므로 특정 환경이나 시스템에 종속되지 않고 사용할 수 있다.
반면 HTML은 웹 브라우저에서만 사용 가능하다.
XML은 데이터 저장만 하고 있다.
HTML은 데이터를 저장하고 표현할 수 있다.
1 ~ 3번에 내용을 종합해 보면 XML은 데이터만 저장하고 있는 언어이다.
HTML은 데이터를 갖고도 있으며 표현도 가능하다.
따라서 HTML은 가지고 있는 데이터를 웹 브라우저 환경에서 표현하고 나타낼 수 있지만
XML은 가지고 있는 데이터를 저장하고 전달하는 것이 목적인 언어이기 때문에
별도의 브라우저나 어플리케이션 환경에서 데이터를 표현하진 않는다.
HTML을 실행을 하면 화면에 뭔가가 나타나지만
본문 위에 예시로 작성한 XML 파일을 실행하면 HTML처럼 정보를 표현하는 어떠한 작동은 하지 않는다.
HTML이 데이터와 그 표현을 동시에 하고 있다면 XML은 데이터만을 가지고 있을 뿐 그 표현은 하고 있지 않다.
XML은 태그로 정보를 마크업 언어로 저장해둔 상태일 뿐이기 때문이다.
XML과 HTML의 차이점을 다시 한번 정리해 보면 다음과 같다.
[XML vs HTML]
언어 | 목적 | 태그 | 환경 | 상태 |
---|---|---|---|---|
XML | 데이터 저장/전송 | 사용자 정의 | 환경에 종속받지 않음 | 데이터 표현 불가 |
HTML | 데이터 표현 | 정해진 태그 | 웹 브라우저 | 데이터 표현 가능 |