YAML

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

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.

Cechy języka[edytuj | edytuj kod]

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]:

  1. YAML ma być czytelny dla człowieka
  2. YAML ma realizować struktury danych wbudowane w języki programowania
  3. dokumenty YAML mają być przenośne pomiędzy językami programowania
  4. YAML ma być przyjazny dla typowych narzędzi do przetwarzania tekstu
  5. dokument YAML ma być przetwarzany przez narzędzia w pojedynczym przejściu
  6. YAML ma mieć dużą siłę wyrazu i być łatwo rozszerzalny
  7. YAML ma być prosty w użyciu

Przykładowy dokument[edytuj | edytuj kod]

---
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 | edytuj kod]

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.

Przypisy

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]