오늘은 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)가 아니라 마크업언어를 정의하기 위한 언어이다.


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

(어플리케이션은 앱을 뜻하는 용어가 아니다. http://mommoo.tistory.com/11 참고.)



'용어정리 > 프로그래밍용어' 카테고리의 다른 글

List와 Map의 차이 (2)  (0) 2016.04.27
List와 Map의 차이 (1)  (0) 2016.04.26
상수(constant) 와 리터럴(literal)이란?  (16) 2016.01.06
Wrapper class(래퍼 클래스) 란?  (0) 2015.12.24
API란?  (0) 2015.12.17

포스팅이 도움 되셨다면, 커피 한잔 후원해주세요!
더 좋은 포스팅 작성에 큰 힘이 됩니다.

Buy me a coffeeBuy me a coffee

+ Recent posts