컴퓨터 공학 기초 - XML(eXtensible Markup Language)알아보기

컴퓨터/컴퓨터 공학 기초

728x90
반응형

서론

다양한 컴퓨터 분야에서 XML 문서들을 많이 보았을 것이다. 이 XML은 무엇인가에 대해 알아보고 대략적인  사용방법에 대해 알아보도록 하자.

 

XML(eXtensible Markup Language)?

마크업 언어의 일종으로서 어떠한 소프트웨어 또는 하드웨어와 상관없이 데이터를 전송하기 위해 개발된 언어입니다.

 

마크업 언어란 HTML같이 태그(예 : <meta>)의 형태로 표현하는 언어를 말합니다.

HTML의 경우 약속된 태그가 있고 그 태그를 알맞게 사용해야 됩니다.

하지만 XML의 경우 이 태그를 사용자 마음대로 정의하고 설계할 수 있습니다. 

 

예를 들어 사람이라는 카테고리 안에 정의된 이름이 홍길동과 이순신이 있다고 가정합시다. 

이를 XML로 자유롭게 정의하여 데이터화 시킬 수 있습니다.

<사람>
	<이름>홍길동</이름>
</사람>
<사람>
	<이름>이순신</이름>
</사람>

이런 식으로 특정한 데이터를 옮기기 위해 XML의 형태로 데이터를 가공하여 교환하는 수단입니다.

 

특징

이러한 XML의 특징으로 다양한 분야에서 정말 다양하게 활용되고 있습니다.

특징을 나열해 보자면 다음과 같습니다.

  • 단순하게 텍스트로만 이루어져 있어 시스템적 한계가 적다.(다양한 시스템에서 사용 가능하다)
  • 문서 자체가 구조화되어있어 사람이 읽기에도 비교적 수월하다.
  • 사용자가 원하는 데로 데이터를 정의하고 표현할 수 있다. 
  • 따라서 특정 규칙에 구애받지 않고 XML문법을 기반하여 데이터를 가공 표현 전달할 수 있다.

 

구조

XML로 만들어진 데이터를 시각화하면 트리 형태의 구조를 가지게 됩니다. 

https://www.w3schools.com/xml/xml_tree.asp

이처럼 구조화되는 언어이기 때문에 데이터의 전달에 효율적입니다.

 

XML의 사용

XML 문서를 사용하기 위해서는 문서가 XML 문서라는 것을 명시해 주고 시작해야 된다.

XML의 버전과 문자 인코딩의 형태를 구분해 주어야 한다.

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

 

외부에서 정의된 XML 마크업 언어를 가지고 오기

만약 다른 사용자가 만든 XML 마크업 정의를 가지고 와서 사용하기 위해서는 XML 문서에 외부 XML 정의를 가지고 와서 사용하겠다고 미리 알려줘야 합니다.

자체적인 서비스를 개발하기 위해 XML 마크업 언어를 만들지 않는 경우, 주로 이러한 방법으로 XML을 사용하게 됩니다.

 

예를 들어 MyBatis를 사용하기 위해서는 MyBatis에서 정의한 XML 태그들을 사용하겠다고 문서에 알려줘야 됩니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 

만든 XML 정의를 배포하려면

그렇다면 반대로 직접 XML을 이용하여 태그들을 정의하여 다른 사용자들에게 제공하려면 어떻게 해야 되는가

DTD 또는 XML Schema를 작성하면 XML 태그들을 정의할 수 있다. 

 

사용 시 주의사항

XML 문서를 작성할 때는 몇 가지 주의사항이 있습니다.

  • 종료 태그는 반드시 존재해야 된다.
    • XML은 어떠한 경우에도 종료 태그를 표현하여만 정상적으로 동작합니다.
  • 태그 또는 속성은 대소문자를 구분합니다.
  • 속성 값은 반듯이 ""큰 따옴표 안에 써야 됩니다.
  • XML은 띄어쓰기를 인식합니다. 

결론

다양한 프로그래밍을 접하게 되면 이 XML 문서들을 필연적으로 마주치게 됩니다. 이때 XML 문서들의 특성상 제공하는 서비스에 맞게 다양한 마크업 언어들이 정의됩니다.

따라서 XML언어로 작성되어 XML구조대로 동작하는 언어지만 사용하기 위한 태그들은 천차만별일 수 있습니다.

이런 XML의 전반적인 특징을 잘 이해하면 XML을 사용할 때 도움이 될 수 있습니다.

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :