XML이란?

2020-05-27

이번 포스팅에서는 XML에 대한 간단한 정리입니다.


XML(eXtensible Markup Language)

그림 출처

XML은 뜻에서 볼 수 있듯이 확장형 마크업 언어로, 웹브라우저간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위해 개발된

다목적 마크업 언어 입니다.

SGML이란 텍스트, 이미지, 오디오 등을 포함하는 멀티미디어 전자문서들을 다른 기종의 시스템들과 정보의 손실 없이 효율적으로 전송, 저장 및 자동처리 하기 위한 언어입니다.

  • 다른 목적의 마크업 언어를 만드는데 사용됩니다.
  • 유니 코드를 기반으로 다국어를 지원합니다.
  • 텍스트 형식의 데이터 포맥으로 다양한 플랫폼과 시스템에서 활용할 수 있습니다.
  • 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있습니다.
  • 트리 구조로 구성되어 있어 상위 태그는 여러 개의 하위 태그를 가질 수 있습니다.
  • 모든 태그는 종료 태그를 가져야하며, 시작 태그와 종료 태그의 요소명은 동일 해야합니다.

XML의 구성

<?xml version = "버젼" encoding = "언어set" standalone="yes|no"?>

위와 같이 XML 문서임을 알리는 문단을 반드시 포함 시켜야하며,

  • 태그 안에 ?가 들어간 부분은 기본적으로 <,>를 사용하지만 첫 문단은 ?를 포함시켜야합니다.

  • version은 XML 문서에 사용된 버젼을 명시

  • encoding은 XML의 언어셋을 명시합니다. 생량이 가능하며 생략할 경우 기본값은 UTF-8입니다.

  • standlone은 문서를 해석할 때 외부 문서의 참조 여부를 명시합니다. 새약이 가능하며, 생략할 경우 기본값은 no로 외부 문서를 참조한다는 의미입니다.

  • xml의 요소는 아래와 같이 구성됩니다.

    <요소이름 속성1 = “속성값1” 속성2 = “속성값2”…>내용 </요소이름>

  • 요소이름은 요소의 이름으로 사용자가 임의로 지정할 수 있습니다.

  • 요소와 관련된 속성과 속성값은 생략이 가능합니다.

  • 내용 또한 생략이 가능합니다.

SOAP(Simple Object Access Protocol)

컴퓨터 네트워크 상에서 HTTP/ HTTPS, SMTP등을 이용하여 XML을 교환하기 위한 통신 규약입니다.

  • 웹 서비스에서 사용되는 메시지의 형식과 처리 방법을 지정합니다.

  • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신이 가능합니다.

  • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 합니다.

주요 요소로는 Envelope, Header, Body가 있습니다.