2. (Format/Encryption) [포맷] : [XML] 설명 , 특징 , 구조 , 문법 설명
[구 분]
TITLE : DATA FORMAT
FORMAT : XML
[XML 이란?]
1. XML 은 EXtensible Markup Language의 약자이며, 1998년에 W3C 표준 권고안에 포함되었습니다.
2. XML 은 HTML과 매우 비슷한 문자 기반의 마크업 언어(text-based markup language)입니다.
3. XML 은 사람과 기계가 동시에 읽기 편한 구조로 되어 있습니다.
4. XML 은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌습니다.
5. XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있습니다.
[XML 의 특징]
1. XML 은 다른 목적의 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어입니다.
2. XML 은 다른 시스템끼리 다양한 종류의 데이터를 손쉽게 교환할 수 있도록 해줍니다.
3. XML 은 새로운 태그를 만들어 추가해도 계속해서 동작하므로, 확장성이 좋습니다.
4. XML 은 데이터를 보여주지 않고, 데이터를 전달하고 저장하는 것만을 목적으로 합니다.
5. XML 은 텍스트 데이터 형식의 언어로 모든 XML 문서는 유니코드 문자로만 이루어집니다.
[XML 기반 언어]
1. XHTML
2. SVG
3. RDF
4. RSS
5. Atom
6. MathML
[XML 설계 목적]
1. XML은 인터넷상에서 명확하게 사용할 수 있어야 합니다.
2. XML은 다양한 응용 프로그램을 지원해야 합니다.
3. XML은 SGML과 호환되어야 합니다.
4. XML 문서를 처리하는 프로그램은 손쉽게 작성될 수 있어야 합니다.
5. XML에서 제공하는 옵션의 수는 최소한으로 유지되어야 합니다.
6. XML 문서는 인간이 읽을 수 있어야 하며, 의미가 명확해야 합니다.
7. XML의 설계는 빠르게 이루어져야 합니다.
8. XML의 설계는 공식적이면서 간결해야 합니다.
9. XML 문서는 작성하기 쉬워야 합니다.
10. XML 마크업의 간결성은 그다지 중요하지 않습니다.
[XML 구조]
1. XML 문서는 HTML 문서와 마찬가지로 트리(tree) 형태의 계층 구조를 가집니다.
2. XML 트리는 하나뿐인 루트(root) 요소부터 시작하여, 각각의 자식(child) 요소에 차례대로 연결됩니다.
3. XML 트리 구조에 포함되는 모든 요소는 자신만의 자식(child) 요소를 가질 수 있습니다.
4. 부모 (parent) 요소는 여러 개의 자식(child) 요소를 가질 수 있습니다.
5. 자식 (child) 요소는 단 하나의 부모(parent) 요소만을 가집니다.
6. 형제 (sibling) 요소는 같은 트리 레벨(tree level)에 존재하는 요소를 가리킵니다.
7. 조상 (ancestor) 요소란 부모 요소를 포함해 계층적으로 현재 요소보다 상위에 존재하는 모든 요소를 가리킵니다.
8. 자손 (descendant) 요소란 자식 요소를 포함해 계층적으로 현재 요소보다 하위에 존재하는 모든 요소를 가리킵니다.
[XML 문법 예시]
1. XML 문서는 맨 첫줄에 <xml>태그를 사용하여 XML 문서임을 명시해야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
2. 기본적인 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>