XML 입문 | XML 기본 | XML 선언

XML 문서의 시작 부분에 사용되는 XML 버전과 문자 코드에 대해 XML 선언을 작성한다. 여기에서는 XML 선언을 작성 방법에 대해 설명한다.

XML 선언 작성

XML 선언은 XML 문서에 처음으로 기술하고, 다음과 같이 구문으로 되어 있다.

<?xml version="버전" encoding="문자 코드"?>

버전에 사용되는 XML 버전을 기입한다. XML 버전은 “1.0"이나 “1.1"이 있는데 주로 “1.0"을 지정하는 경우가 많다.

문자 코드는 XML 문서를 저장할 때 사용하는 문자 코드를 기입한다. “UTF-8"로 저장된 경우에는 “UTF-8"으로 작성하고, “EUC-KR"에 저장된 경우 “EUC-KR"으로 문자 코드를 작성한다.

앞에서 본 XML 문서의 샘플을 보도록 하자.

<?xml version="1.0" encoding="UTF-8" ?>
<foods>
  <food>
    <name>바나나</name>
    <color>노랑</color>
  </food>

  <food>
    <name>사과</name>
    <color>빨강</color>
  </food>
</foods>

첫 번째 줄에 XML 선언이 작성되어 있다. XML 버전 “1.0"이고, 문자 코드는 “UTF-8"로 되어 있다.

XML 선언에서 설명하는 문자 코드와 실제로 사용하는 문자 코드가 다른 경우 오류가 발생한다. 다음 예제는 XML 문서는 “UTF-8"로 저장되어 있지만 XML 선언은 “EUC-KR"으로 되어 있다.

<?xml version="1.0" encoding="EUC-KR" ?>
<foods>
  <food>
    <name>바나나</name>
    <color>노랑</color>
  </food>

  <food>
    <name>사과</name>
    <color>빨강</color>
  </food>
</foods>

이 파일을 브라우저에서 열어 보면 다음과 같이 오류가 표시된다.

XML 선언

문자 코드는 실제로 사용하는 문자 코드를 작성해야 한다.

XML 선언 생략

XML 선언은 XML 문서의 문자 코드로 “UTF-8"또는 “UTF-16"을 사용하는 경우는 생략 할 수 있다. 다음 예제는 XML 선언을 생략 XML 문서를 “UTF-8"로 저장 한 것이다.

<foods>
  <food>
    <name>바나나</name>
    <color>노랑</color>
  </food>

  <food>
    <name>사과</name>
    <color>빨강</color>
  </food>
</foods>

이 파일을 브라우저에서 열어 보면 다음과 같이 정상적으로 표시된다.

XML 선언

XML 선언을 생략하면 코드 문자 “UTF-8"또는 “UTF-16"가 사용되는 것으로 판단된다. 그 때문에 다른 문자 코드로 사용하고 있는데 XML 선언을 생략하면 문자 코드가 다르다라는 오류 메시지가 표시된다. 다음 예제는 XML 선언을 생략 XML 문서를 “EUC-KR"로 저장 한 것입니다.

XML 선언

이와 같이 문자 코드로 “UTF-8"을 사용하는 경우에는 XML 선언은 선택 사항이지만, 의도적으로 생략한건지 작성하는 것을 잊은 건지 판단이 어렵기 때문에 “UTF-8"을 사용하는 경우도 작성해 두는 것이 좋다.




최종 수정 : 2019-10-07