티스토리 뷰

XML은 무엇인가

  • eXtensible Markup Language의 약자입니다.
  • HTML과 비슷한 마크 업 언어입니다.
  • 데이터를 저장하고 전송하기위해 설계되었습니다.
  • 자기-설명적(self-descriptive)입니다.
  • W3C의 권장 사항입니다.

XML은 데이터를 일반 텍스트 형식으로 저장한다. 이를 통해 소프트웨어 및 하드웨어에 독립적인 방식으로 데이터를 저장, 전송 및 공유 할 수 있다. 그래서 XML 문서를 사용하면 데이터 손실없이 새 운영 체제, 새 응용 프로그램 또는 새 브라우저로 쉽게 확장하거나 업그레이드 할 수 있습니다. 대부분의 XML 응용 프로그램은 새 데이터가 추가되거나 제거 되더라도 예상대로 작동합니다. 한마디로 XML문서는 단순히 태그에 둘러쌓인 정보일 뿐이다.

 

HTML과의 차이점

얼핏 XML문서를 본 사람이나, HTML 문서에 대해 공부한 사람이라면, XML 문서가 HTML문서와 무엇이 다른가에 대해 궁금증이 들 것이다. HTML은 문서의 표현에 초점이 맞춰져 있다면, XML은 정보 전달에 초점이 맞춰져 있다. 즉 개발의 의도부터 조금 차이가 있다. 또한 HTML은 표준 태그들이 미리 정의 되어있는 반면에 XML은 태그가 미리 정의되어있지 않다. 따라서 XML은 태그와 문서구조를 모두 정의해주어야 한다.

 


XML 문서 작성의 시작

 

문서의 첫 줄에는 아래와 같이 프롤로그를 작성합니다. xml 버전과 인코딩 방식을 알려주는 역할을 합니다.

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

 

XML문서를 작성할 때에는 반드시 모든 태그들의 부모태그, 즉 전체 문서를 감싸는 root태그가 필요합니다.
따라서 아래와 같이 모든 문서의 내용은 root역할의 태그 안에 포함되어야 합니다. 문서가 로드되면 root안의 태그들은 root의 자식태그들로 tree를 형성하게 됩니다.

<? xml version = "1.0"encoding = "UTF-8"?>
<root>
// 문서의 내용
</root>

 

또한, xml에서는 대소문자를 구분합니다. 그리고 태그에 속성을 지정해줄 수 있는 데, HTML에서와 마찬가지로 속성은 인용부호로 묶어야한다.

<animal name="dog">

태그사용 방식등 HTML문서와 유사한 부분이 상당히 많다.

주석사용 방법도 HTML과 같다.

<!-- This is a comment -->

 


<XML Namespace>

XML에서는 태그의 이름을 개발자가 정의하기 때문에, 같은 이름의 요소(element)가 생길 수 있다. 따라서 충돌을 막기위해서 Namespace를 사용한다.

 

선언 방법은 xlmns 속성을 이용하며 다음과 같이 사용한다.

<tagName xlmns:prefix="URI">

 

prefix는 접두사를 뜻하며, 선언 이후 다음과 같이 작성하여, 같은 이름의 태그간의 충돌을 예방할 수 있다. 또한 속성을 지정해준 태그의 자식태그들에게는 모두 적용된다.

<prefix: tagName> </prefix: tagName>

접두사를 생략하여 속성을 지정해주는 경우에도 자식 태그에게는 default namespace로 부모 태그의 네임스페이스가 적용이된다.

 

URI (Uniform Resource Identifier)는 인터넷 자원을 식별하는 문자열이다. 가장 일반적인 URI는 인터넷 도메인 주소를 식별하는 URL (Uniform Resource Locator)이다. 이 Namespace를 선언할 떄에는 URI를 사용하는 이유는 고유한 이름을 부여하기 위해서이기 때문이다. 일반적으로는 네임스페이스에 대한 정보를 가지고 있는 페이지를 사용한다.


댓글
반응형
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함