Doctor Pepper

XML(Extensible Markup Language) 본문

프로그래밍/데이터 포멧

XML(Extensible Markup Language)

Doctor Pepper 2024. 10. 21. 21:46
728x90

 

1. XML(Extensible Markup Language)

 XML(Extensible Markup Language)는 데이터를 구조화된 방식으로 저장하고 표현하는 언어이다. ‘Extensible’이라는 단어에서 알 수 있듯이, XML은 특정 태그 세트를 고정적으로 사용하는 HTML과 달리 사용자 정의 태그를 허용하여 데이터를 자유롭게 표현할 수 있다.

 

 XML은 데이터를 설명하고 구조화하는 데 중점을 두며, 데이터를 어떻게 표시할 것인지는 관여하지 않는다. 이는 데이터를 서로 다른 시스템 간에 전달하거나 다른 애플리케이션에서 사용할 때 매우 유용하다.

사용자 정의 태그 XML은 사전에 정의된 태그 없이 사용자 정의 태그를 사용하여 데이터를 설명할 수 있음
계층적 데이터 구조 XML 문서는 트리 구조로 데이터를 표현하여 상위-하위 관계를 명확하게 나타냄
독립적 데이터 포맷 플랫폼, 언어에 구애받지 않고 다양한 시스템에서 데이터를 읽고 쓸 수 있음

 

2. XML 배경

XML은 1998년, W3C(World Wide Web Consortium)에 의해 웹 상에서 데이터를 쉽게 교환할 수 있는 표준으로 제정되었다. 이전에는 SGML(Standard Generalized Markup Language)이라는 복잡한 데이터 표현 언어가 있었으나, 이를 단순화하고 보다 범용적으로 사용할 수 있도록 한 것이 XML이다.

 

 XML은 데이터의 구조를 명확하게 표현하면서도, 그 구조가 확장 가능하다는 점에서 뛰어난 유연성을 제공한다. 또한, XML의 설계 원칙은 웹에서 널리 사용되던 HTML(HyperText Markup Language)의 단점을 보완하여, 웹 서비스, API, 데이터 교환 등에 최적화된 형식으로 발전했다.

 

3. 문법

- 기본 구조

 XML 문서는 하나의 루트 요소를 포함해야 하며, 그 안에 다른 요소들이 포함된다. 모든 XML 문서는 트리 구조로 데이터를 표현한다.

<root>
     <item>
          <name>Apple</name>
          <price>1.50</price>
     </item>
     <item>
          <name>Banana</name>
          <price>0.75</price>
     </item>
</root>

 

위에서 root는 루트 요소이며, 그 안에 여러 개의 item 요소가 포함되어 있다.

 

- 태그

시작 태그종료 태그로 구성되며, 모든 시작 태그는 종료 태그가 있어야 한다.

<name>Apple</name>

 

빈 요소는 시작 태그와 종료 태그를 합쳐서 쓸 수 있다.

<item />

 

- 속성

요소는 속성을 가질 수 있으며, 속성은 시작 태그 안에서 정의된다.

<item id="001" category="fruit">
     <name>Apple</name>
     <price>1.50</price>
</item>

 

여기서 id와 category는 item 요소의 속성이다.

 

- XML 선언

XML 문서의 첫 줄에는 XML 버전과 인코딩 방식을 선언하는 부분이 들어간다. 이는 선택 사항이지만, 보통 다음과 같은 형태로 작성된다.

<?xml version="1.0" encoding="UTF-8"?>

 

- 주석

XML 문서 안에 주석을 추가할 수 있으며, 주석은 <!--와 -->로 감싸서 표시한다.

<!-- This is a comment -->

 

4. XML의 장단점

장점 데이터 호환성: 플랫폼 독립적이며, 다양한 시스템 간에 데이터를 쉽게 교환할 수 있음.
확장성: 태그를 자유롭게 정의할 수 있어, 다양한 데이터 구조를 표현하는 데 유연하게 대응할 수 있음.
가독성: 인간이 읽기 쉽게 구성되어 있어 데이터 구조를 이해하기 쉬움.
단점 파일 크기: 태그가 많아지면 파일 크기가 커질 수 있음.
처리 속도: XML은 텍스트 기반이므로, 바이너리 형식에 비해 데이터 처리 속도가 느릴 수 있음.

 

 

 본 글에서 살펴본 XML의 기본 개념, 배경, 문법 및 장단점은 XML을 효과적으로 이해하고 활용하는 데 도움이 될 것이다. XML은 데이터의 표현과 구조를 정의하는 데 있어 매우 강력한 도구이지만, 그 사용 시에는 파일 크기와 처리 속도 등의 단점도 고려해야 한다. 이러한 특성을 잘 활용한다면, XML은 다양한 애플리케이션에서 효과적으로 데이터 관리를 지원할 수 있다.

728x90

'프로그래밍 > 데이터 포멧' 카테고리의 다른 글

YAML(YAML Ain't Markup Language)  (13) 2024.10.17
데이터 포맷 개념 및 종류  (19) 2024.10.17