XML

박정훈·2021년 1월 9일
2

data

목록 보기
1/1

XML

XML은 데이터를 저장하고 전달할 목적으로 만들어졌으며, 저장되는 데이터의 구조를 기술하기 위한 언어이다.

XML이란?

  • XML은 eXtensible Markup Language의 약자이며, 1998년 W3C 표준 권고안에 포함되었다.
  • XML은 HTML과 매우 비슷한 문자 기반의 마크업 언어이다.
    이 언어는 사람과 기계가 동시에 읽기 편한 구조로 되어 있다.
  • 그러나 XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌다.
  • 또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다.

XML 특징

  1. 다른 목적의 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어이다.
  2. 다른 시스템끼리 다양한 종류의 데이터를 손쉽게 교환할 수 있도록 해준다.
  3. 새로운 태그를 만들어 추가해도 계속해서 동작하므로, 확장성이 좋다.
  4. 데이터를 보여주지 않고, 데이터를 전달하고 저장하는 것만을 목적으로 한다.
  5. 텍스트 데이터 형식의 언어로 모든 XML 문서는 유니코드 문자로만 이루어진다.

XML 목적

서로 호환되지 않는 데이터 타입을 사용하는 시스템 간의 데이터 교환에는 많은 시간과 노력이 발생한다.
또한, 이렇게 데이터를 변환하는 과정에서 데이터의 손실이 발생하는 경우도 종종 있다.

하지만 XML은 데이터를 텍스트 형식으로 저장하므로, 소프트웨어나 하드웨어에 독립적으로 데이터를 저장하고 전달할 수 있다.
따라서 XML을 사용하면 새로운 운영체제나 프로그램, 브라우저 등에 상관없이 데이터를 안전하고 손쉽게 전달할 수 있다.

XML 구조

XML 트리

XML문서는 HTML 문서와 마찬가지로 트리 형태의 계층 구조를 가진다.
이러한 XML 트리는 하나뿐인 루트요소부터 시작하여, 각각의 자식 요소에 차례대로 연결된다.
XML 트리 구조에 포함되는 모든 요소는 자신만의 자식 요소를 가질 수 있다.
부모(parent) 요소는 여러 개의 자식(child) 요소를 가질 수 있다.
하지만 자식 요소는 단 하나의 부모 요소만을 가진다.

형제(sibling)요소는 같은 트리 레벨(tree level)에 존재하는 요소를 가리킨다.
즉, 형제 요소란 같은 부모 요소를 가지는 자식 요소 간의 관계를 나타낸다.

조상(ancestor)요소란 부모 요소를 포함해 계층적으로 현재 요소보다 상위에 존재하는 모든 요소를 가리킨다.
자손(decendant)요소란 자식 요소를 포함해 계층적으로 현재 요소보다 하위에 존재하는 모든 요소를 가리키낟.

XML 트리의 모든 요소는 자신만의 텍스트나 속성을 가질 수 있다.

XML 문서 구조

기본적인 XML 문서는 다음과 같이 구성된다.

<?xml version="1.0" encoding="UTF-8"?>
<shop city="서울" type="마트">
    <food>
      <name></name>
      <sort>과일</sort>
      <cost>3000</cost>
  </food>
  <food>
    <name>상추</name>
    <sort>야채</sort>
    <cost>2000</cost>
  </food>
</shop>

XML 문서는 맨 첫줄에 태그를 사용하여 XML문서임을 명시해야 한다.

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

그 다음에는 XML 문서에 단 하나만이 존재하는 루트 요소를 생성한다.
이 루트 요소는 XML 문서에 존재하는 모든 요소의 조상(ancestor)요소가 된다.

<shop city="서울" type="마트">

위의 예제에서 루트 요소는 자식요소로 두 개의 <food>요소를 가진다.

<shop city="서울" type="마트">
  <food>
    ...
  </food>
  <food>
    ...
  </food>
</shop>

첫 번째 <food>요소는 <name> 요소, <sort>요소, <cost>요소의 총 세 개의 자식 요소를 가진다.

<food>
  <name></name>
  <sort>과일</sort>
  <cost>3000</cost>
</food>

위에서 살펴본 XML 문서는 상점에서 판매하는 식품에 관한 정보를 담고 있는 문서임을 명확하게 알 수 있다. 이처럼 XML 문서에서 요소의 이름은 저장하고 있는 데이터의 내용을 명확히 알려준다. 따라서 요소의 이름만으로도 데이터의 내용을 짐작할 수 있다.

출처

profile
정팔입니다.

0개의 댓글