YAML – uniwersalny język formalny przeznaczony do reprezentowania różnych danych w ustrukturalizowany sposób. YAML jest akronimem rekursywnym od słów YAML Ain't Markup Language. Na początku, skrót YAML miał oznaczać Yet Another Markup Language, jednak zmieniono tę koncepcję, aby położyć nacisk na cel, któremu język miał służyć, czyli opisowi zbioru danych. Jego pierwszą wersję zaproponował w 2001 roku Clark Evans we współpracy z Ingy döt Net oraz Oren Ben-Kiki.
Spis treści |
Poszczególne elementy struktury danych są oddzielane znakami nowej linii, a ich hierarchia ustalana jest na podstawie wcięcia linii. Język wprowadza trzy podstawowe struktury danych, które mogą być wkomponowane w dokument: listy, słowniki i skalary. Obsługuje również referencje, które eliminują konieczność redundancji danych.
Wszystkie te cechy sprawiają, że dokumenty napisane w YAML-u są bardzo zwięzłe, czytelne dla człowieka, dają się też łatwo przetwarzać prostym narzędziom, takim jak grep, awk czy sed oraz przy pomocy języków skryptowych.
Cele stawiane przed językiem przez jego twórców są następujące[1]:
XML jest najpopularniejszym obecnie uniwersalnym językiem przeznaczonym do reprezentowania danych. Składnia YAML-a jest bardziej przejrzysta dla człowieka, ponieważ struktura dokumentu określona jest znakami nowej linii i wcięciami, a nie znacznikami otwierającymi i zamykającymi. YAML, podobnie jak XML, ma strukturę drzewa uporządkowanego, ale ponadto obsługuje kolekcje już na poziomie języka. Żaden z tych formatów nie udostępnia bogatego mechanizmu reprezentacji dużych ilości danych w postaci binarnej.