본문 바로가기

03. Development/11. XML

XML의 기본 구조와 문법

XML 문서의 기본 구조

<?xml version="1.0" encoding="EUC-KR"?>

루트 엘리먼트로써 문서내에서 유일해야 하며, 나머지 구성요소는 루트 엘리먼트내에 위치해야 합니다.

<root></root>

루트 엘리먼트 자식 수준의 데이터를 xml문서라고 합니다.
        <name>홍길동</name>
        <age>30</age>
        <address>서울시 영등포구</address>

XML문서의 종료
    1. Well-Formed XML Document : XML 1.0 문법 준수
    2. Valid XML Document : DTD, Schema 문법 준수

인코딩
     1. ASCII : 7bit
     2. ISO Latin-1 : 8bit, 서유럽 문자코드 포함
     3. KS C5601 : 한국 공업표준, 2바이트 사용 -> 완성형 한글 표현
     4. EUC-KR : 영어(KS C5636) + 한글(KC C5601)
     5. Unicode
         1) UTF-8 : ASCII 문자(1바이트), 다른 문자(2바이트 이상), 한글 3바이트
         2) UTF-16 : 모든 문자 2바이트

엘리먼트 (Element)
   1. 시작태그와 끝태그는 항상 쌍을 이룹니다.
   2. 단독(빈)태그는 끝에 "/" 를 표시합니다.
   3. "<" 는 태그명으로 사용 불가능 합니다.
   4. "<" 와 ">" 사이에 공백사용이 불가능 합니다.
   5. 태그 중첩 사용이 불가능 합니다.
   6. 태그는 모든 문자로 시작 가능하지만, 숫자나 "." 사용 불가능 합니다.
   7. ":" 는 태그명으로 사용을 자제하는게 좋습니다.
   8. 대소문자를 구별합니다.

엘리먼트 (Element) 종류
   1. 내용을 가지는 Element (시작태그&끝태그)
       - <title>제목</title>
       - <head>
             <meta />
      </head>

   2. 내용을 가지지 않는 Element (시작태그) : 단독태그, 빈태그
       - <br />
       - <img />

엘리먼트 (Element)의 내용으로 올 수 있는 종류
    1. 문자 데이터
    2. 자식 엘리먼트
    3. 엔티티 & 문자참조 : <name>&nbsp;</name>

        ※ 문자 데이터와 엔티티는 전혀 틀리며, 이 때 name은 엔티티를 가진다고 합니다.
    4. CDATA Section : 해석되지 말아야 하는 데이터 집합으로 이 안에 태그등이 와도 태그로 인식하지 않습니다.
    5. 주석
    6. 공백 문자열 : 일반 문자 데이터와 틀립니다. (스페이스, 탭, 엔터 등)

속성 (Attribute)
   - 시작 엘리먼트에 포함되어야 합니다.
   - 속성명="속성값" or 속성명='속성값', 속성값은 " 나 ' 로 감싸줘야 합니다.
   - 속성명 명명법 : 엘리먼트명과 동일합니다