XML의 기초

Flash Player 9 이상, Adobe AIR 1.0 이상

XML은 구조화된 정보를 표시하는 표준 방법으로, 컴퓨터에서 처리가 간편하고 사용자 역시 비교적 쉽게 작성하고 이해할 수 있습니다. XML은 eXtensible Markup Language의 약어이며, XML 표준은 www.w3.org/XML/에서 볼 수 있습니다.

XML은 편리하게 데이터를 범주화할 수 있는 표준 방식을 통해 데이터에 대한 읽기, 액세스 및 조작 작업을 용이하게 합니다. XML에서는 HTML에서와 유사한 트리 구조 및 태그 구조를 사용합니다. 다음은 간단한 XML 데이터의 예입니다.

<song> 
    <title>What you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

XML 데이터는 속성 및 기타 구조적 구성 요소뿐만 아니라 다른 태그에 중첩된 태그가 있는 더 복잡한 형태일 수 있습니다. 다음은 복잡한 XML 데이터의 예입니다.

<album> 
    <title>Questions, unanswered</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <tracks> 
        <song tracknumber="1" length="4:05"> 
            <title>What do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:31</lastplayed> 
        </song> 
        <song tracknumber="2" length="3:45"> 
            <title>Who do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:35</lastplayed> 
        </song> 
        <song tracknumber="3" length="5:14"> 
            <title>When do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:39</lastplayed> 
        </song> 
        <song tracknumber="4" length="4:19"> 
            <title>Do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:44</lastplayed> 
        </song> 
    </tracks> 
</album>

이 XML 문서에는 다른 완전한 XML 구조(예: 자식이 있는 song 태그)가 들어 있습니다. 또한 특성(예: song 태그의 tracknumberlength)과 같은 다른 XML 구조를 비롯하여 데이터가 아닌 태그로 구성된 태그(예: tracks 태그)를 확인할 수 있습니다.

XML 시작

XML 관련 지식이 전무하거나 거의 없다면 여기에서 소개하는 XML 데이터의 가장 일반적인 사항에 대한 설명을 참조하십시오. XML 데이터는 일반 텍스트 형식으로 작성되며, 정보를 구조화된 형식으로 구성하는 특수 구문이 사용됩니다. 일반적으로 하나의 XML 데이터 집합을 XML 문서라고 합니다. XML 형식에서 데이터는 계층 구조에 따라 요소로 구성됩니다. 요소는 하나의 데이터 항목이거나 다른 여러 요소의 컨테이너일 수 있습니다. 모든 XML 문서는 최상위 수준(기본 항목)에 하나의 요소를 갖고 있습니다. 대부분 여러 중첩 요소로 구성되는 경우가 많지만 이 루트 요소 내에는 단일 정보가 포함됩니다. 한 예로, 음악 앨범 정보가 포함된 다음 XML 문서를 살펴보겠습니다.

<song tracknumber="1" length="4:05"> 
    <title>What do you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <mood>Happy</mood> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

각 요소는 여러 태그, 즉 각괄호(보다 작음 및 보다 큼 기호)로 둘러싸인 요소 이름으로 구분됩니다. 요소의 시작을 나타내는 여는 태그의 이름은 다음과 같습니다.

<title>

요소의 끝을 나타내는 닫기 태그에는 다음과 같이 요소 이름 앞에 슬래시가 사용됩니다.

</title>

요소에 내용이 없는 경우에는 빈 요소(자체 닫기 요소라고도 함)로 작성될 수 있습니다. XML에서 다음 요소는

<lastplayed/>

아래 요소와 동일합니다.

<lastplayed></lastplayed>

열기 태그와 닫기 태그 사이에 포함된 내용 외에도 요소에는 열기 태그로 정의된 특성이라는 다른 값이 포함될 수 있습니다. 예를 들어 다음 XML 요소는 값이 "4:19"인 한 개의 특성(length)을 정의합니다.

<song length="4:19"></song>

각 XML 요소에는 단일 값 또는 하나 이상의 XML 요소가 있거나 빈 요소의 경우 내용이 없습니다.

XML에 대한 세부 정보

XML에 대해 보다 자세한 내용을 원하는 경우, 다음 웹 사이트를 비롯하여 다양한 서적 및 리소스를 활용할 수 있습니다.

XML 작업을 위한 ActionScript 클래스

ActionScript 3.0에는 XML 구조의 정보로 작업할 때 사용할 수 있는 여러 클래스가 포함되어 있습니다. 그 중 두 가지 주요 클래스는 다음과 같습니다.

  • XML: 하나의 XML 요소를 나타내며, 복수의 자식 또는 단일 값 요소로 구성된 XML 문서일 수 있습니다.

  • XMLList: 일련의 XML 요소를 나타냅니다. XMLList 객체는 "형제" XML 요소가 여러 개 있는 경우에 사용됩니다. 형제 XML 요소란 XML 문서의 계층 내에서 부모 및 수준이 동일한 요소를 의미합니다. 예를 들어, 다음과 같은 일련의 XML 요소(XML 문서에 포함된 요소라고 가정)와 관련된 작업에서는 XMLList 인스턴스를 사용하는 것이 가장 간편할 수 있습니다.

    <artist type="composer">Fred Wilson</artist> 
    <artist type="conductor">James Schmidt</artist> 
    <artist type="soloist">Susan Harriet Thurndon</artist>

ActionScript에 포함된 Namespace 및 QName 클래스를 사용하면 XML 네임스페이스와 관련된 고급 기능을 활용할 수 있습니다. 자세한 내용은 XML 네임스페이스 사용을 참조하십시오.

XML 작업을 지원하기 위한 내장 클래스 이외에도 ActionScript 3.0에는 XML 데이터 액세스 및 조작을 위한 특수 기능을 제공하는 여러 연산자가 포함되어 있습니다. 이러한 클래스 및 연산자를 사용한 XML 작업 방법은 E4X(ECMAScript for XML)라고 하며 ECMA-357 Edition 2 사양에 정의되어 있습니다.

중요한 개념 및 용어

다음 참조 목록에는 XML 처리 루틴을 프로그래밍할 때 사용되는 중요한 용어가 포함되어 있습니다.

요소
XML 문서에 있는 단일 항목으로, 시작 태그 및 끝 태그 사이의 내용 및 태그로 식별됩니다. XML 요소는 텍스트 데이터 또는 기타 요소로 구성되거나 비어 있을 수 있습니다.

비어 있는 요소
자식 요소가 없는 XML 요소입니다. 비어 있는 요소는 자체 닫기 태그(예: <element/>)라고도 합니다.

문서
하나의 XML 구조를 나타냅니다. XML 문서는 여러 개의 요소 또는 비어 있는 하나의 요소로 구성될 수 있지만, 문서의 기타 모든 요소를 포함하는 최상위 수준 요소가 반드시 하나씩 있어야 합니다.

노드
XML 요소를 지칭하는 다른 이름입니다.

특성
요소와 관련이 있으며 이름을 갖는 값으로, 요소 내에 중첩된 별도의 자식 요소로 작성되지 않고 요소의 여는 태그에 attributename="value" 형식과 같이 작성됩니다.