XML - Extensible Markup Langueage
간단히 정의 하자면 XML은 데이터를 저장하고 전송하기 위한 마크업 언어* 입니다.
↓↓마크업 언어?↓↓
마크업 언어 ( markup language )
태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어의 한가지 입니다.
태그는 원래 텍스트와는 별도로 원고의 교정부호와 주석을 표현하기 위한 것이었으나 용도가 점차 확장되어 문서의 구조를 표현하는 역할을 하게 되었습니다.
이러한 태그 방법의 체계를 마크업 언어라 합니다.
데이터를 기술하는 정도로 사용되기 때문에 프로그래밍 언어와는 구별됩니다.
마크업 언어의 자세한 사항은 위키백과를 참고합니다.
XML은 사람과 기계 모두가 이해하기 쉽도록 설계가 되어 있습니다.
또한 데이터를 구조화하고 태그로 감싸는 방식을 통하여 정보를 표현하게 됩니다.
HTML과 매우 유사한 구문을 가지고 있으나, 목적과 사용 방법은 조금 차이가 있습니다.
- HTML : 웹 페이지를 구성하는데 사용됩니다.
- XML : 데이터를 설명&표현 하고 데이터를 저장&교환 할 수 있습니다.
XML 문서는 시작 태그와 종료 태그로 둘러싸인 요소(element)들의 계층 구조로 이루어 집니다.
각 요소는 태그 안에 속성(attributes)과 값(content)를 가질 수 있습니다.
이를 통해 다양한 종류의 데이터를 표현할 수 있습니다.
XML 코드 형식 예제
<person> // 상위 요소
<name> My Name </name> // 하위요소 이름
<age> 30 </age> // 하위요소 나이
<emailadress> myemail@example.com </emailadress> // 하위요소 메일주소
</person>
태그의 시작부분
<tag>
태그의 끝부분
</tag>
위의 예제에서 "person"의 요소 안에
"name", "age", "emailadress" 의 하위 요소들이 포함되어있는 방식의 코드 입니다.
각 하위 요소는 해당하는 데이터를 표현하기위하여 태그와 값을 가지고 있습니다.
태그의 시작부분과 끝부분은 <> 괄호와 / 로 구분됩니다.
이처럼 XML은 데이터의 구조화와 표현에 유연성을 제공하므로 다양한 분야에서 사용됩니다.
예를들어 웹 서비스에서 데이터를 교환하는 데에도 XML을 사용할 수 있으며,
설정 파일, 문서 저장, 데이터베이스 관리 등등 다양한 용도에 사용이 가능 합니다.
조금더 상세한 내용은 참조 사이트를 보도록 합니다.
'공부' 카테고리의 다른 글
[C++] 특수 멤버 함수 (Special Member Function) (0) | 2023.05.14 |
---|---|
[자료구조] 객체 관계 (Object Relationship) (0) | 2023.05.13 |
[C, C++] 메모리 풀(Memory Pool) (0) | 2023.05.03 |
[C, C++] 허상포인터(Dangling Pointer) + 와일드포인터(Wild Pointer) + 스마트포인터 (0) | 2023.05.03 |
[C, C++] 동적 할당, 해제 (0) | 2023.05.03 |
댓글