xml 이란?

Extensible Markup Language
마크업 언어를 정의하기 위한 언어, 확장이 가능한 언어이다.
HTML 이 데이터를 표현하는 마크업 언어라면, XML 은 Tag를 정의할 수 있고 데이터를 기술하는 마크업 언어

  • 텍스트 기반이며 간결한 데이터형
  • 마크업언어(HTML)가 아니라 마크업언어를 정의하기 위한 언어.
  • XML은 데이터를 기술하고 구조화시키는데 사용(데이터 교환)
  • HTML은 동일한 데이터를 표시하고 꾸미는데 사용

주요 용어

  • (유니코드) 문자 정의 상, XML 문서는 문자로 이루어진 문자열이다. 거의 모든 올바른 유니코드 문자는 XML 문서에 나타날 수 있다.
    프로세서(processor)와 애플리케이션(application)
    프로세서는 마크업을 분석하고 구조화된 정보를 애플리케이션에 넘긴다. 이 명세는 XML 프로세서가 무엇을 해야하고 하지 말아야 하는지 제시하지만, 애플리케이션에 대해서는 다루지 않는다. 이 프로세서(명세가 부르기를)는 흔히 XML parser라 불린다.

  • 마크업(markup)과 내용(content) XML 문서를 구성하는 문자들은 마크업과 내용으로 나뉘는데, 그 구분은 간단한 문법 규칙으로 이루어진다. 일반적으로 마크업을 구성하는 문자열은 문자 <로 시작하여="" 문자="">로 끝나거나, 문자 &로 시작하여 문자 ;로 끝나며, 마크업이 아닌 문자열은 내용이다. 그러나, CDATA 절에서, 구분자 <![CDATA[와 ]]>는 마크업으로 분류되고, 그들 사이의 텍스트는 내용으로 구분된다. 추가로, 가장 바깥 엘리먼트의 앞과 뒤의 공백(whitespace)은 마크업으로 분류된다.

  • 태그(tag)
    • <로 시작하여="">로 끝나는 마크업 구조. 태그는 세 가지 종류가 있다:
    • 시작 태그(start-tag); 예: <section>
    • 끝 태그(end-tag); 예: </section>
    • 빈 엘리먼트(empty-element) 태그; 예:
  • 엘리먼트(element) 문서의 논리 요소로서, 시작 태그로 시작하여 짝이 되는 끝 태그로 끝나거나, 빈 엘리먼트 태그만으로 이루어진다. 시작 태그와 끝 태그 사이의 문자들은(있다면) 엘리먼트의 내용이고, 마크업을 포함할 수 있다. 이 마크업은 자식 엘리먼트(child elements)라 부르는 다른 엘리먼트들을 포함할 수도 있다. 엘리먼트의 예는 Hello, world. (see hello world). 다른 예는 .

  • 애트리뷰트(Attribute) 이름/값 짝으로 이루어진 마크업 구조로 시작 태그 또는 빈 엘리먼트 태그 속에 위치한다. 다음 예에서 엘리먼트 img는 src와 alt의 두 애트리뷰트를 갖는다:

    Foligno Madonna, by Raphael 다른 예로

    Connect A to B.

    에서 애트리뷰트 이름은 “number”이고 값은 “3”이다.

  • XML 선언 XML 문서는 다음과 같이 자신에 대한 정보 일부를 선언하는 것으로 시작할 수 있다:

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