상세 컨텐츠

본문 제목

XML이란

Study/자바

by 개발성훈 2020. 9. 1. 16:31

본문

 오늘은 XML ( eXtensible Markup Language) 에 대해 포스팅 하겠다.

 

필자가 XML을 처음 본곳은 안드로이드 프로그래밍을 처음 접했을 때 이다.

 

안드로이드 프로그래밍은 기본적으로 JAVA언어를 채택하여 기능들 을 JAVA로 

 

작성을 하지만, 스마트폰화면에 보여지는 View 부분을 xml을 통해 코딩할 수 있다.

 

이때 당시만 하더라도, xml이 뭔지 모르고 사용했었다. 하지만 xml은 안드로이드 뿐 아니라,

 

여러방면으로 사용된다.(특히 웹에서 많이 사용된다.)

 

 

 XML이 뭔지 알아보자. 

 

먼저 풀네임을 먼저 해석 해보자. eXtensible Markup Language  => 확장될수 있는 표시 언어

 

이정도로 해석가능 할 것이다. Markup Language의 예로는 우리가 아는 언어인 HTML이 있다.

 

XML 과 HTML 로 예를들어 XML을 설명하려고 한다.

 

같은 Markup Language라, 생긴건 비슷하지만 큰 차이점이 존재한다. HTML의 태그는 이미 약속한 태그들만

 

사용 가능하다. 예를들어 <h1></h1> => 글자크기를 키우는 태그.   와 같이 이미 만들어서 제공되는 태그만

 

사용해야 한다. 하지만, XML 태그는 사용자임의로 만들 수 있다. 

 

그렇다면 XML 태그는 왜 사용자가 임의로 만들게 했는지 생각을 해봐여한다. 

 

XML는 어떠한 데이터를 설명하기 위해 이름을 임의로 지은 태그로 데이터를 감싼다. 

 

즉 태그로 데이터 설명을 하는것이다. 이 부분에서 데이터의 표시(Markup)가 되고,

 

더 필요한 데이터가 생길시 태그추가나, 태그안의 내용을 추가할수 있다는 특징이 있다.(Extensible)

 

아래의 예를 보자.

 

<? xml version="1.0"?>

<컴퓨터언어>

<C언어> C       </C언어>

<C언어> C++    </C언어>

<C언어> C#     </C언어>

<JAVA> java     </JAVA>

<JAVA> android </JAVA>

</컴퓨터언어>

 

컴퓨터언어라는 태그아래 C언어 태그와 JAVA 태그가 있으며 각 태그에 맞는 메타 정보들이 배치되어 있다.

 

이런식으로 XML은 우리가 필요한 정보들을 받거나 줄 수 있는 데이터형태를 제공해준다.

 

만약 HTML로 저러한 정보를 작성하려 했다 하면 어떨까? 

 

C,C++ 과 같은 메타 정보등은 얻을 수 야 있겠지만, 데이터를 설명해주는 정보는 없을 것이다.

 

 

 이와 같이 xml은 정보들을 태그로써 마크하여 필요한 내용을 안에 적는 양식이다. 

 

안드로이드를 해본 사람이라면 안드로이드의 xml도 똑같이 이해해보길 바란다. 이해가 갈 것이다.

 

위 글을 다 읽을 시간이 없는 독자를 위해 간단하게 정리하자면 아래와 같다.

 

* 텍스트 기반이며 간결한 데이터형이다.

 

* 웹에서 디스플레이 표준을 HTML로 한것처럼 데이터의 표준으로 만들기 위한 노력이 있음.

 

* 마크업언어(HTML)가 아니라 마크업언어를 정의하기 위한 언어이다.

 

* 자신의 어플리케이션에 적합하게 작성 가능 하다. 



출처: https://mommoo.tistory.com/17 [개발자로 홀로 서기]

관련글 더보기