NePo
Kovas 13, 2008

Yaml - XML alternatyva?

- labai griežtas, tačiau aiškus ir žmogui gana suprantamas formatas. Tačiau turi vieną didelį trūkumą - kaip ir dauguma amerikiečių - jis greitai tunka. Paskaičiuokime. Kiek elementų reikia, norint aprašyti vieną kintamąjį formatu? Keturių. O du? Šešių. Manote, jog nemoku skaičiuoti? Norint aprašyti vieną kintamąjį formatu reikia apibrėžti šakninį (angl. root) dokumento elementą bei elementą apibrėžiantį mūsų kintamąjį. Taigi, o jeigu norėsite aprašyti masyvų struktūras?
Atrodo laikas pradėti ieškoti alternatyvos.

- žmogui suprantamas duomenų saugojimo formatas, pristatytas 2001 metais. Pats pavadinimas yra “ Ain’t a Markup Language” žodžių trumpinys.
buvo sukurta stengiantis paimti geriausias savybes iš: , C, Python, Perl bei el. pašto specifikacijos.
Paprastas pavyzdys:

 vartotojas:
            kompiuteris : pc1
            vardas: Vardenis
            pavarde: Pavardenis
            Telefonas: 8-65-89001
            epastas:
                - adresas: kopustai@sugrietine.lt
                - adresas: burokeliu@siurba.lt

Šiuo pavyzdžiu mes aprašėme informaciją apie vartotoją, ar kas nors norėtų šį pavyzdį pabandyti užrašyti formatu?

Pagrindiniai elementai:

Sąrašai:

- Pirmas
- Antras
- Trečias

arba

[pirmas, antras, trečias]

Mišiniai (ang. Hashes)

miestas: Skuodas
salis: Lietuva

arba

{miestas: Skuodas, salis: Lietuva}

Blokai

|
kažkoks ilgas tekstas kurio niekas neskaito
    šita eilutė atitraukta nuo krašto
    Dar viena eilutė atitraukta nuo krašto
O šita jau nebeatitraukta

Statmenas brūkšnys nėra privalomas, tačiau jis parodo, kad reikia išlaikyti teksto formatavimą ir atitraukimus nuo krašto.

palaiko pagrindinius duomenų tipus: skaičius(integer, float), eilutes(string), sąrašus(list), tačiau jais neapriboja vartotojo ir suteikia galimybę apsibrėžti savo tipus.

Jeigu pažvelgėte į pavyzdį, tai turbūt pastebėjote, jog kažką primena? Iš tiesų sintaksė labai artima , apie kurį Pixel.lt irgi rašė. Tačiau vienas esminis skirtumas: kaip ir perduoda tik tekstą ir negali perduoti funkcijų, todėl jis yra daug saugesnis už .

Jeigu jus sudomino šitas duomenų formatas pasiskaitykite daugiau:
Yaml specifikacija
Yaml sintaksės paruoštukė
Yaml Cookbook for Ruby
Using YAML With PHP and PECL
PHP, Meet YAML
wikipedia

Panašūs straipsniai


“Yaml - XML alternatyva?” komentarų: 2

  1. insane

    As visada kazkaip galvojau kad yaml’as labiau naudojamas configam saugot, o ne kazka perdavinet..

  2. malas

    insane -> gerai galvojai :)
    yaml suparsint yra greiciau nei xml, ir jis yra lengviau skaitomas zmogui nei koks kitas standartas, todel labai patogu su juo saugoti configus

Rašyti komentarą

Jūs privalote prisijungti jeigu norite rašyti komentarą.