YAML
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 |
Cechy języka [edytuj]
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]:
- YAML ma być czytelny dla człowieka
- YAML ma realizować struktury danych wbudowane w języki programowania
- dokumenty YAML mają być przenośne pomiędzy językami programowania
- YAML ma być przyjazny dla typowych narzędzi do przetwarzania tekstu
- dokument YAML ma być przetwarzany przez narzędzia w pojedynczym przejściu
- YAML ma mieć dużą siłę wyrazu i być łatwo rozszerzalny
- YAML ma być prosty w użyciu
Przykładowy dokument [edytuj]
--- receipt: Oz-Ware Purchase Invoice date: 2007-08-06 customer: given: Dorothy family: Gale items: - part_no: A4786 descrip: Water Bucket (Filled) price: 1.47 quantity: 4 - part_no: E1628 descrip: High Heeled "Ruby" Slippers size: 8 price: 100.27 quantity: 1 bill-to: &id001 street: | 123 Tornado Alley Suite 16 city: East Centerville state: KS ship-to: *id001 specialDelivery: > Follow the Yellow Brick Road to the Emerald City. Pay no attention to the man behind the curtain. ...
YAML a XML [edytuj]
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.