Kasutaja:Kravi321/YAML

Allikas: Vikipeedia
Mine navigeerimisribale Mine otsikasti
YAML
Viimane väljalase 1.2 / 1. oktoober 2009
Veebisait yaml.org

YAML (YAML Ain’t Markup Language) on andmevahetusvorming, mis on loodud eesmärgiga olla võimalikult inimloetav ning lihtsasti integreeritav paljude programmeerimiskeeltega.[1]

YAML kasutab sarnaselt Pythonile kuuluvuse näitamiseks treppimist. See tähendab, et samale kaugusele joondatud ridadel asetsevad muutujad moodustavad ühtse terviku. Alates YAML 1.2 versioonist on kuuluvust on võimalik lisaks treppimisele näidata ka nurksulgudega [] loendite ning looksulgudega {} sõnastike puhul. Kuna alates versioonist 1.2 on JSON YAML-i alamhulk, siis on JSON formaadis failid ühtlasi valiidsed ka YAML vormingus.[2]

YAML vormingu kõige laialdasemaks kasutusalaks on konfiguratsioonifailid[2]. Vormingu lihtsasti loetav süntaks annab kasutajale kiire ülevaate aktiivsetest seadistustest.

YAML failide ametlik faililaiend on .yaml.[3]

Ajalugu[muuda | muuda lähteteksti]

YAML formaati esitles 2001. aastal Colin Clark[4], kes oli selle disaininud koostöös Ingy döt Neti[5] ja Oren Ben-Kikiga[5]. Esmalt oli akronüümi tähenduseks Yet Another Markup Language[6], kuid juba 2002. aastal avaldatud spetsifikatsiooniuuenduses oli see muudetud tänase versiooni, YAML Ain’t Markup Language, vastu[7]. Seda tehti, et eristada YAML-i kui andmete talletamisele spetsialiseerunud vormingut märgendkeeltest nagu HTML ja XML, mida kasutatakse dokumentide semantilise struktuuri edastamiseks.[8]

Süntaks ja andmetüübid[muuda | muuda lähteteksti]

YAML-i süntaksilised eripärad:

  • Treppimine on lubatud vaid tühikutega. Tabuleerimine on keelatud, kuna tabeldusmärgi käsitlus pole erinevates tekstiredaktorites standardiseeritud ja võib seetõttu segada vormingu interpreteerimist.[3]
  • Kommentaar algab sümboliga # ja lõppeb reavahetusega. Mitmerealisi kommentaare YAML ei toeta.
  • YAML fail võib koosneda mitmest dokumendist. Dokumendi algust tähistab kolm sidekriipsu --- ning lõppu kolm punkti .... Lõpu märkimine ei ole kohustuslik.

Muutujad[muuda | muuda lähteteksti]

YAML toetab klassikalisi andmetüüpe nagu sõne, täisarv, tõeväärtus ja ujukomaarv. Erinevalt paljudest teistest vormingutest on YAML-is sõnede kirjutamisel süntaksiliselt üsna vabad käed. Sõne võib kirjutada ühekordsete või kahekordsete jutumärkide vahele. Kui sõne ei vasta täisarvu, ujukomaarvu või tõeväärtuse süntaksile, ei alga erisümbolitega {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, \ ning ei sisalda erisümboleid :, # , siis võib jutumärgid ära jätta.[9]

---
a: 123                     # täisarv
b: "123"                   # sõne 
c: '123'                   # sõne 
d: !!str 123               # sõne, kasutades tüüpimist
f: 123.0                   # ujukomaarv
g: true                    # tõeväärtus
h: Mari Maasikas           # sõne 
...

Sõnesid on võimalik kirjutada ka mitmerealisena. Selleks on kaks analoogset võimalust, mida saab kasutada vastavalt teksti vormindamise vajadusele. Püstkriipsuga | alustatud sõnesid parsitakse ilma reavahetusteta. Reavahetuste alles jätmiseks tuleb sõne alustada sümboliga >.[10]

tekst: |
   Kui Arno isaga koolimajja jõudis, olid tunnid juba alanud. 
   Kooliõpetaja kutsus mõlemad oma tuppa, kõneles nendega natuke aega, 
   käskis Arnol olla hoolas ja korralik ja seadis ta siis pinki ühe pikkade juustega poisi kõrvale istuma.

Loend[muuda | muuda lähteteksti]

Loendi elemente tähistatakse kirjele eelneva sidekriipsuga - . Samale kaugusele joondatud elemendid moodustavad loendikogumi.[10]

 - sõiduk
   - auto
     - Audi
     - BMW
   - lennuk
     - Airbus
     - Boeing

Sõnastik[muuda | muuda lähteteksti]

Sõnastikud koosnevad võti: väärtus paaridest. Väärtustena võib kasutada mistahes andmetüüpe.

# Töötajate andmed
-  martin:
    name: Martin Kuningas
    job: Arendaja
    skills:
      - python
      - java
      - pascal
-  mari:
    name: Mari Maasikas
    job: Analüütik
    skills:
      - excel
      - word
      - powerpoint

Vaata ka[muuda | muuda lähteteksti]

Viited[muuda | muuda lähteteksti]

  1. Oren Ben-Kiki, Clark Evans, Ingy döt Net. "YAML Ain’t Markup Language (YAML™) Version 1.2". 1. oktoober 2009. Vaadatud 15.01.2020.
  2. 2,0 2,1 Robert Gibb. "What is YAML?". 17. juuli 2019. Vaadatud 15.01.2020.
  3. 3,0 3,1 YAML.org. "FAQ". Vaadatud 15.01.2020.
  4. Clark C . Evans. "YAML Draft 0.1". 13. mai 2001. Vaadatud 15.01.2020.
  5. 5,0 5,1 YAML.org. "ABOUT". Vaadatud 15.01.2020.
  6. Brian Ingerson, Clark C. Evans, Oren Ben-Kiki. "Yet Another Markup Language (YAML) 1.0". 1. august 2001. Vaadatud 15.01.2020.
  7. YAML.org. "NEWS". Vaadatud 15.01.2020.
  8. Eric Goebelbecker. "YAML Tutorial: Everything You Need to Get Started in Minutes". 11. detsember 2018. Vaadatud 15.01.2020.
  9. tinita. "Strings in YAML - To Quote or not to Quote". 3. märts 2018. Vaadatud 15.01.2020.
  10. 10,0 10,1 ansible. "YAML Syntax". Vaadatud 15.01.2020.