YAML
파일 확장자.yaml, .yml
인터넷 미디어 타입미등록됨
발표일2001년 5월 11일(23년 전)(2001-05-11)
최신 버전
1.2 (리비전 1.2.2)
(2021년 10월 1일(2년 전)(2021-10-01))
포맷 종류데이터 교환
오픈 포맷?
웹사이트yaml.org

YAMLXML, C, 파이썬, , RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이다. 2001년에 클라크 에반스가 고안했고, Ingy dot Net 및 Oren Ben-Kiki와 함께 디자인했다.

YAML이라는 이름은 "YAML은 마크업 언어가 아니다 (YAML Ain't Markup Language)” 라는 재귀적인 이름에서 유래되었다. 원래 YAML의 뜻은 “또 다른 마크업 언어 (Yet Another Markup Language)”였으나, YAML의 핵심은 문서 마크업이 아닌 데이터 중심에 있다는 것을 보여주기 위해 이름을 바꾸었다. 오늘날 XML과 JSON이 데이터 직렬화에 주로 쓰이기 시작하면서, 많은 사람들이 YAML을 '가벼운 마크업 언어'로 사용하려 하고 있다.

요소

YAML은 모든 데이터를 리스트, 해쉬, 스칼라 데이터의 조합으로 적절히 표현할 수 있다는 믿음을 가지고 만들어졌다. 문법은 상대적으로 이해하기 쉽고, 가독성이 좋도록 디자인되었으며, 고급 컴퓨터 언어에 적합하다. 또한 들여쓰기 및 XML의 특수기호를 사용하기 때문에, XML과 거의 비슷하다.

YAML은 공백과 스칼라 값을 가지고 있는 리스트 구분자를 위해 쉼표와 콜론이 필요하다. 미래의 표준화를 위해 YAML에서는 @, 엑센트 기호 ‘ 2개의 기호 문자를 예약해두고 있다.

버전

버전 출시일
YAML 1.0 2004년 1월 29일
YAML 1.1 2005년 1월 18일
YAML 1.2.0 2009년 7월 21일
YAML 1.2.1 2009년 10월 1일
YAML 1.2.2 2021년 10월 1일

예제

리스트

 --- # Favorite movies, block format
 - Casablanca
 - Spellbound
 - Notorious
 --- # Shopping list, inline format
 [Casablanca, Spellbound, Notorious]

해시

 --- # Block
 name: John Smith
 age: 33
 --- # Inline
 {name: John Smith, age: 33}

Block Literals

Newlines preserved

 --- |
   There was a young fellow of Warwick
   Who had reason for feeling euphoric
       For he could, by election
       Have triune erection
   Ionic, Corinthian, and Doric 11

Newlines folded

 --- >
   Wrapped text
   will be folded
   into a single
   paragraph

   Blank lines denote
   paragraph breaks

해시의 리스트

 - {name: John Smith, age: 33}
 - name: Mary Smith
   age: 27

리스트의 해시

 men: [John Smith, Bill Jones]
 women:
   - Mary Smith
   - Susan Williams

구현

다음 언어에서 YAML을 이용할 수 있다:

따로 볼 것들

다른 단순화된 마크업 언어들이 있다:

같이 보기

외부 링크