마크업 언어

최근 수정 시각:

파일:나무위키프로젝트.png
이 문서는 나무위키 컴퓨터 프로젝트에서 다루는 문서입니다.
해당 프로젝트 문서를 방문하여 도움이 필요한 문서에 기여하여 주세요!

1. 정의2. 종류
2.1. 표현적 마크업2.2. 절차적 마크업2.3. 기술적 마크업

1. 정의[편집]

마크업 언어(Markup Language)는 문서가 화면에 표시되는 형식을 나타내거나 데이터의 논리적인 구조를 명시하기 위한 규칙들을 정의한 언어의 일종이다. 데이터를 기술한 언어라는 점에서 프로그래밍 언어와는 차이가 있다.

프로그래밍 언어와 마크업 언어의 명시적인 차이가 쉽게 이해가 가지 않는다면 한컴오피스 한글에서 수식 입력기를 떠올려보자. 한글의 수식입력기에서는 마우스로 기호를 하나하나 찾아 골라서 클릭을 하는 식으로도 수식을 입력을 할 수 있지만, 수식이 나타나는 화면의 아래창에 몇가지 명령어들을 규칙에 맞춰 직접 타이핑하며 마우스를 사용하지 않고도 여러가지 수식들을 입력할 수 도 있다. 이때 사용되는 명령어들도 한컴오피스 한글 문서에서 수식 문자가 화면에 표시되는 모양과 형식을 결정하는 마크업 언어에 해당된다.[1]

굳이 어렵게 생각할 필요 없이, 책에 볼펜으로 밑줄을 긋는 행위도 그 내용이 중요하다는 의미를 나타내므로 마크업의 일종이라고 할 수 있다. 또는 그래픽 디자이너들한테 '책 표지는 배경을 무지개 그라데이션으로 넣어주시고 제목은 중앙에 검은색 굴림체로 크게 박아주세요' 라고 말하는 것 또한 전형적인 말로 하는 마크업 언어라고 할 수 있다.

본래는 교정 부호 등을 표기하는데에 사용했지만, 점차 용도가 확장되어 문서의 구조를 표현하도록 발전하였다. 최초의 마크업 언어로 부를 수 있을 정도로 발전한 언어는 IBMGML을 기반으로 한 SGML.

가장 대표적인 마크업 언어중 하나인 HTML(Hyper Text Markup Language)로 작성할 경우, 아래와 같이 작성할 수 있다.

<html>
<head>
<head/>
  <body>
    <p> Hello, world! </p>
  <body/>
</html>

2. 종류[편집]

2.1. 표현적 마크업[편집]

문서의 형태를 표현하기 위한 마크업.

대표적인 예로 HTML의 style 태그를 들 수 있다.
메모장이나 워드프로세서에서 제목 앞에 몇 칸의 공백을 넣는 등의 행위도 표현적 마크업의 일종이라고 할 수 있다.

2.2. 절차적 마크업[편집]

프로그램이 문서를 처리하는 방법을 서술한 마크업.

LaTeX가 이 분류에 속한다.

2.3. 기술적 마크업[편집]

가장 많이 사용되는 마크업 언어의 종류.

문서가 표현하는 내용을 기술하는 데에 사용한다. 표현적 마크업과 절차적 마크업의 요소를 어느 정도는 포함하고 있어 범용적 마크업이라고도 한다.

대표적인 예는


[1] 참고로 한컴오피스의 수식 입력 마크업 언어는 독자적으로 개발된것이 아니라 LaTeX로부터 따온 것이다.