YAML
YAML er et menneskelesbart dataserialiseringsformat inspirert av språk som XML , C , Python , Perl , samt formatet på e - poster ( RFC 2822 ). YAML ble foreslått av Clark Evans i 2001, som designet den sammen med Ingy döt Net og Oren Ben-Kiki .
YAML er et rekursivt akronym som står for YAML Ain't Markup Language . [ 1 ] Tidlig i utviklingen sto YAML for Yet Another Markup Language for å skille dets datasentriske formål i stedet for dokumentmarkering. Siden XML ofte brukes til å serialisere data og XML er et ekte dokumentmarkeringsspråk, er det rimelig å vurdere YAML som et lett oppmerkingsspråk.
Funksjoner
YAML ble opprettet i troen på at alle data kan representeres tilstrekkelig som kombinasjoner av lister, hashes (tilordninger) og skalardata (enkeltverdier). Syntaksen er relativt enkel og ble designet med mål om å være svært lesbar, men likevel lett å kartlegge til de vanligste datatypene på de fleste høynivåspråk. I tillegg bruker YAML en annen innrykk-basert notasjon og/eller Sigil-tegnsett enn de som brukes i XML, noe som gjør det enkelt å typesette begge språkene.
- Innhold i YAML beskrives ved hjelp av Unicode-utskrivbare tegnsett, enten UTF-8 eller UTF-16 .
- Strukturen til dokumentet er angitt ved innrykk med tomme mellomrom; bruk av tabulatortegn for innrykk er imidlertid ikke tillatt.
- Listemedlemmer er angitt med overskrifter med bindestrek ( - ) med ett medlem per linje, eller omsluttet av firkantede parenteser ( [ ] ) og atskilt med komma og mellomrom ( , ).
- Assosiative vektorer er representert ved hjelp av et kolon etterfulgt av et mellomrom. i formen "nøkkel: verdi", enten én per linje eller omsluttet av klammeparenteser ( { } ) og atskilt med komma etterfulgt av et mellomrom ( , ).
- En assosiativ vektorverdi innledes med et spørsmålstegn ( ? ), som gjør at komplekse nøkler kan konstrueres uten tvetydighet.
- Enkeltverdier (eller skalarer ) vises vanligvis uten anførselstegn, men kan omsluttes av doble anførselstegn ( " ), eller enkle anførselstegn ( ' ).
- I doble anførselstegn kan spesialtegn representeres med escape-sekvenser som ligner de i programmeringsspråket C , som begynner med en omvendt skråstrek ( \ ).
- Flere dokumenter kan inkluderes i en enkelt strøm, atskilt med tre bindestreker ( --- ); de tre prikkene ( ... ) indikerer slutten av et dokument i en strøm.
- Gjentatte noder kan angis med et og- tegn ( & ) og refereres til senere ved å bruke stjernen ( * )
- Kommentarer innledes med et hash-tegn ( # ) og fortsetter til slutten av linjen.
- Noder kan merkes med en type eller tag ved å bruke utropstegnet ( ! ) etterfulgt av en streng som kan utvides til en URL.
- YAML-dokumenter kan innledes med direktiver som består av et prosenttegn ( % ) etterfulgt av et navn og mellomromsavgrensede parametere. Det er to direktiver definert i YAML 1.1:
- %YAML-direktivet brukes til å identifisere versjonen av YAML i et gitt dokument.
- %TAG-direktivet brukes som en snarvei for URI -prefikser . Disse snarveiene kan brukes i nodetypeetiketter.
YAML krever at komma og semikolon brukt som skilletegn i lister etterfølges av et mellomrom, slik at skalarverdier som inneholder tegnsetting (som 5 , 280 eller http://www.wikipedia.org ) kan representeres uten å bruke anførselstegn.
To ekstra tegn er reservert i YAML for mulig fremtidig standardisering: at-tegnet ( @ ) og tilbaketikken ( ` ).
Eksempler
Lister
--- # Favorittfilmer, blokkformat
- BotijoAzul
- BotijoVerde
- Viridiana
- Psicosis
...
--- # Handleliste, nettformat
[ melk , brød , egg ]
[ chorizo , blodpudding , botijo , kylling ]
Assosiative vektorer
--- # Blokknavn
: Pepe López
alder : 33
--- # Online
{ navn : Pepe López , alder : 33 }
Blokker bokstaver
Bevarer linjeretur
--- |
Teksten beholder sin struktur,
i den forstand at den bevarer linjeretur.
Dette inkluderer også tomme linjer.
Ignorerer linjeretur
SAYO
--- >
Omgitt tekst
vil bli formatert
som et enkelt
avsnitt
Tomme linjer
angir avsnittsskift.
Assosiative vektorlister
- { navn : Pepe López , alder : 33 }
- navn : Maria Garcia
alder : 27
Assosiative vektorer av lister
menn : [ Pepe Lopez , Guillermo Garcia ]
kvinner :
- María García
- Susana Márquez
Implementeringer
YAML-implementeringer finnes for følgende språk:
Se også
Referanser
- ↑ YAML nettsted.
Eksterne lenker
Implementeringer