YAML | |
---|---|
Kiterjesztés | .yamlvagy.yml |
MIME típusú | application/x-yaml [1] [2] , text/yaml [3] [2] és text/x-yaml [4] |
Fejlesztő | Clark Evans [d] |
közzétett | 2001. május 11. [5] |
Legutolsó kiadás | 1.2.2 (2021. október 1. ) |
Formátum típusa | Adatcsere |
Kibontva innen | XML , Perl és JSON |
nyílt formátum ? | Igen |
Weboldal | yaml.org _ |
YAML ( mozaikszó angol "Yet Another Markup Language" - " Another Markup Language ", később - rekurzív mozaikszó angol "YAML Ain't Markup Language" - " YAML - not a markup language") - "barátságos" adatsorosítási formátum , fogalmilag közel jelölőnyelvekhez , de a legtöbb programozási nyelv tipikus adatszerkezetének I/O- jának kényelmére összpontosított .
A név értelmezése a fejlődés történetét tükrözi: a kezdeti szakaszban a YAML a Yet Another Markup Language (" Another Markup Language ") rövidítése volt, sőt az XML versenytársaként is pozicionálták, de később átnevezték , hogy az adatokra összpontosítson. nem a dokumentum jelölésen [6 ] .
Clark Evans által megfogalmazott célok szerint a YAML 1.0 célja [7] :
A YAML (1.2) jelenlegi változata néhány változtatást eszközölt ezeken a célokon [8] :
A YAML szintaxis minimalista, különösen az XML szintaxishoz képest. A specifikáció azt jelzi, hogy az RFC 822 szabvány nagy hatással volt . Az alábbiakban a különböző jelölőkomponensek mintái láthatók. Meg kell jegyezni, hogy az egysoros formázási beállítás a JSON - t a YAML érvényes részhalmazává teszi.
A YAML fő elemei:
Egyes projektekben olyan konfigurációt kell tárolnia, amely leírja az IRC-parancsok leképezését ( angol kötések ) reguláris kifejezéseket használó függvényekhez .
Íme az eredeti konfiguráció táblázatban:
ircEvent | módszer | regexp |
---|---|---|
PRIVMSG | newUri | "^http://.*" |
PRIVMSG | deleteUri | "^törlés.*" |
PRIVMSG | randomUri | "^véletlen.*" |
A YAML-ben ez a konfiguráció a következőképpen ábrázolható:
kötések : - ircEvent : PRIVMSG metódus : newUri regexp : '^http://.*' - ircEvent : PRIVMSG metódus : deleteUri regexp : '^delete.*' - ircEvent : PRIVMSG metódus : randomUri regexp : '^random.*'vagy
kötések : - { ircEvent : PRIVMSG , metódus : newUri , regexp : '^http://.*' } - { ircEvent : PRIVMSG , metódus : deleteUri , regexp : '^delete.*' } - { ircEvent : PRIVMSG , metódus : randomUri , regexp : '^random.*' }Összehasonlításképpen az XML-reprezentációban ez a konfiguráció a következőképpen ábrázolható:
<bindings> <binding> <ircEvent> PRIVMSG </ircEvent> <method> newUri </method> <regexp> ^http://.* </regexp> </binding> <binding> <ircEvent> PRIVMSG </ircEvent > <method> deleteUri </method> <regexp> ^delete.* </regexp> </binding> <binding> <ircEvent> PRIVMSG </ircEvent> <method> randomUri </method> <regexp> ^random.* </regexp> </binding> </bindings>vagy
<bindings> <binding ircEvent= "PRIVMSG" method= "newUri" regexp= "^http://.*" /> <binding ircEvent= "PRIVMSG" method= "deleteUri" regexp= "^delete.*" /> <binding ircEvent= "PRIVMSG" method= "randomUri" regexp= "^random.*" /> </bindings>A beágyazott XML elemek tetszőleges struktúrák megjelenítésére használhatók, a YAML pedig közelebb áll a Ruby , Perl , Python , Java tipikus adatmodellek megjelenítéséhez , lehetővé téve a szekvenciák, leképezések és skalártípusok szabad kombinációinak leírását – vagyis közelebb áll a valódihoz. programozási nyelvek adatstruktúrái, és nem igényel eltérő DOM -konvenciót az adatstruktúrák dokumentumokra és dokumentumokból való leképezéséhez, ahogy azt az XML megköveteli .
A YAML-t főként a Ruby on Rails , a Docker Compose [9] , a Dancer , a Symfony , a GAE framework , a Google App Engine és a Dart konfigurációs fájlok formátumaként használják . Ez az elsődleges nyelv az OpenStack Murano Project alkalmazáscsomagok osztályainak, erőforrásainak és jegyzékeinek leírására. és Swagger.io . Alapértelmezés szerint az otthoni asszisztens rendszer intelligens otthonának konfigurálásához is használatos .
Dokumentum jelölőnyelvek | |
---|---|
irodai dokumentumok | |
közismert | |
Kevésbé ismert |