XML 개요 (개념, 설계목표)

2021. 3. 23. 02:29 기타/JSON, XML

참조문서 : https://www.w3.org/TR/REC-xml/

json 만세 시대에 XML을 왜 학교에서 가르치는지 의문이 들지만.... 기존 서비스들이 XML로 된 경우도 꽤 있을꺼고.. 그래도 알아야하지 않겠나! 하며 시작해본다ㅋㅋ

1. XML 이란?

Extensible Markup Language의 약자이다. 웹에서 구조화한 문서를 표현하고 전송하도록 설계한 마크업 언어이다. XML은 문서내용에 대한 구조와 의미를 기술하기 위한 언어이다. W3C에서 개발됐고, 다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업 언어(메타언어)이기도 하다. 다양한 표현이 가능하고, 확장성이 뛰어나며 간단하다.

이러한 XML을 이용해 수학용 마크업 언어인 MathML, 화학용 마크업 언어인 CML, 지리용 마크업 언어인 GML 등을 만들었다.

비슷한 언어(HTML, SGML)들과 XML을 비교해보면 아래와 같다.

XML은 2000년대 이종 형식 간에 데이터 전송이 매우 편리하다는 이유로 크게 성장했다. 독자적인 형식을 사용하는 여러 서비스들 사이에서 데이터를 공유하기 위해 변환할 때 XML을 쓰면 유용했다. 그러나 최근에는 JSON에게 밀리고 있는 추세이다. 이에 대해선 나중에 포스팅해보겠다.

2. XML의 기본 개념

  1. XML은 구조적인 데이터로 표현하여 작성
  2. XML은 HTML과 비슷해 보이지만 다름 : 태그와 속성을 사용하지만 HTML은 정해진 태그를 사용하고 XML은 동적으로 생성한다.
  3. XML은 텍스트지만, 읽는 것만 의미하지는 않음 : 규칙이 엄격, 유효성 검증된 텍스트
  4. XML은 확장가능 : 기존 구조 내에서 데이터 수를 변동할 수 있다.
  5. XML은 기술의 집합 : XLink, XPointer, XSL 등
  6. XML은 새로운 기술이 아니라, 발전한 기술 : SGML, HTML 등으로부터 장점을 추출한 발전한 기술
  7. XML은 HTML에서 XHTML로 이끌음
  8. XML은 모듈식 : 다른 포맷을 조합하거나 재사용함으로써 새로운 문서 포맷을 정의하는 것을 허용
  9. XML은 RDF와 시맨틱 웹의 토대 : 메타 데이터 응용
  10. XML은 라이센스 제약이 없고, 플랫폼에 독립적이며, 많은 지원 : 유니코드를 지원한다

3. XML의 설계 목표

  1. XML은 인터넷에서 바로 사용할 수 있어야 한다.
  2. XML은 다양한 종류의 애플리케이션을 지원해야 한다.
  3. XML은 SGML과 호환되어야 한다.
  4. XML 문서를 처리하는 프로그램은 사용하기 쉬워야 한다.
  5. XML에서 선택 사항은 최소여야 한다.
  6. XML 문서는 쉬워야 한다.
  7. XML 설계는 빠르게 할 수 있어야 한다.
  8. XML 설계는 정형적이고 간결해야 한다.
  9. XML 문서는 만들기 쉬워야 한다.
  10. XML을 작성할 때 간결성은 무시될 수 있다.



출처: https://sjh836.tistory.com/117?category=687142 [빨간색코딩]

'기타 > JSON, XML' 카테고리의 다른 글

XML 기본 구조 (요소, 속성, CDATA, 네임스페이스)  (0) 2021.03.23
CORS vs JSONP  (0) 2021.03.23
JSONP  (0) 2021.03.23