■ 마크업 언어(Markup Language)
마크업 언어는 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어의 한 가지이다.
출처 : 위키백과
마크업 언어는 양식이 있는 문서의 한 종류이며 그 양식을 태그(좌, 우 부등호처럼 생긴 꺽쇠<>로 구분) 등으로 구분해 문서 정보를 정확하게 전달하기 위한 목적으로 만들어진 문서이다.
쉽게 말해서 마크업은 태그 등을 이용해 문서나 데이터의 구조를 나타내는 방법이다(속성부여도 가능).
이 중 상당히 많은 부분을 차지하고 있는 것이 HTML이며 줄임말을 풀어쓰면 Hyper Text Markup Language 라고 한다. HTML은 웹페이지를 구성하는데 사용되며 그 밖에도 여러 마크업 언어들이 존재한다.
마크업 언어는 프로그래밍 언어와는 다르다. 마크업 언어는 단순한 정보 전달만을 하고 있을 뿐 프로그래밍 언어의 논리적인 부분(조건에 따른 분기 등)이 없기 때문이다.
■ 마크업 언어 사용
마크업 언어는 이 자체로 뭔가가 있는 것은 아니고 여러 마크업 언어를 통틀어 말한다. 즉 HTML, XML 등을 마크업 언어라고 하고 그러한 것들이 나오게 된 것은 거의 대부분 컴퓨터와 관련이 있다.
최초의 문서는 당연히 아무것도 없는 글씨였을 것이다.
안녕하세요. 저는 준보틱스입니다.
그런데 만약 여기서 "준보틱스"라는 문구를 두꺼운 글씨로 강조하고 싶다면 어떻게 해야 할까?
- 문서에 어떤 효과를 주어야 할지, 어디부터 어디까지 그 효과를 줄지..
그래서 나오게 된 방법이 마크업 문서의 다음과 같은 형식이다. HTML을 기준으로 하자면 다음과 같은 방식으로 문서를 쓸 수 있다.
안녕하세요. 저는 <strong>준보틱스</strong>입니다.
이렇게 함으로써 "준보틱스"를 strong이라는 기호를 이용해 구분할 수 있게 되었다. 그럼 나머지 역할은 저 문장을 해독하는 파서가 "준보틱스 네 글자는 두꺼운 글씨로 써야겠군"하고 강조를 할 수 있는 것이다.
이 밖에도 굉장히 많은 마크업 언어들이 있다. 이들은 처음부터 마크업 언어라고 불렸던 것은 아니다. 하지만 여기저기서 필요에 의해 만들어지다가 이러한 규칙들을 가진 문서들을 마크업 언어라고 부르기 시작했다.
즉, 마크업 언어는 그 자체로 어떤 특정한 것을 나타내는 것은 아니고 여러 마크업 언어들을 하나로 묶어 표현한 문구일 뿐이다. 마크업 언어를 좀 더 자세히 알기 위해서는 HTML, CSS 등 상세한 마크업 언어들을 이해해야 한다.
■ XML 파일
XML(Extensible Markip Lanuage)은 마크업 형태를 쓰는 데이터 교환 형식이다. 여러 특수 목적의 마크업 언어를 만드는 용도에서 권장되는 다목적 마크업 언어이다.
XML을 사용하면 공유 가능한 방식으로 데이터를 정의하고 저장할 수 있다. XML은 웹 사이트, 데이터베이스 및 타사 애플리케이션과 같은 컴퓨터 시스템 간의 정보 교환을 지원한다. 사전 정의된 규칙을 사용하면 수신자가 이러한 규칙을 사용해 데이터를 효율적으로 정확하게 읽을 수 있으므로 모든 네트워크에서 데이터를 XML 파일로 손쉽게 전송할 수 있다.
■ XML 구성
- 프롤로그 : 버전, 인코딩
- 루트요소(단 하나만)
- 하위 요소
<?xml version="1.0" encoding="UTF-8"?>
<사원>
<이름>준보틱스</이름>
<나이>26</나이>
<키>180</키>
</사원>
첫 줄은 프롤로그라고 하며 이 문서가 XML임을 알리고 버전이 몇인지, 그리고 문서의 인코딩이 어떻게 되는 지표시해준다. 인코딩이란 글자를 컴퓨터에 어떤 형식으로 표현할 것인지 정해놓은 것이라 보면 된다.
XML파일은 꺽쇠 부분 "< >" 이 기호로 감싸져 있는 것을 태그(Tag)라고 한다. 이 태그는 HTML에서도 사용되는 것과 같은 것이다. 그렇기 때문에 이 태그는 <abc> 라는 이름으로 시작했다면 </abc>라고 종료를 알리는 태그로 감싸져 있어야 한다.
그리고 그 사이에 있는 글자나 숫자를 값(Value)이라고 한다. 실제로 데이터를 주고 받을 때 내용물이 되는 부분이다.
■ XML 규칙
- XML은 하나의 가장 큰 루트 엘리먼트로 되어 있어야 한다
- 태그를 열었다면 반드시 닫아야 한다
- 태그는 대소문자를 구분한다
- 띄어쓰기를 생략하지 않는다
- 여는 태그와 닫는 태그가 엉켜있으면 안된다
■ HTML과 XML 차이
- HTML의 용도는 데이터를 표시, XML은 데이터를 저장 및 전송하는 역할을 한다.
- HTML에는 미리 정의된 태그가 있지만 사용자는 XML에서 고유한 태그를 만들고 정의 가능
- XML은 대소문자를 구분하지만, HTML은 구분하지 않는다.
■ JSON과 XML 차이
- JSON과 비교했을 때 태그가 계속해서 들어가기 때문에 XML이 JSON보다 무겁다. 또한 Javascript Object로 변환하기 위해 JSON보다는 더 많은 노력이 필요하다.
>>> JSON 파일
{
"name" : "준보틱스"
}
>>> XML 파일
<name>준보틱스</name>
'프로그래밍 > IT지식' 카테고리의 다른 글
테더링이란? (0) | 2024.06.24 |
---|---|
파싱(Parsing)/파서(Parser)란? (0) | 2024.06.24 |
URI, URL, URN 차이점 (0) | 2024.06.24 |
클라우드(Cloud)란? (0) | 2024.06.23 |
소프트웨어 종류 및 동작 원리, 운영체제, 커널, 프로세스와 스레드 (0) | 2024.06.23 |