YAML

YAML Özellikler
Uzantılar .yaml, .yml
MIME türü application/x-yaml, text/yaml, text/x-yaml
PUID fmt / 818
Tarafından geliştirildi Clark Evans ( d )
İlk versiyon 11 Mayıs 2001
Dayalı Genişletilebilir Biçimlendirme Dili , Perl , JavaScript Nesne Gösterimi
Şartname Açık format
İnternet sitesi (tr)  yaml.org

YAML , kısaltmasıdır Yet Another İşaretleme Dili onun sürüm 1.0, olur yinelemeli bir kısaltmasıdır ve YAML değil midir İşaretleme Dili ( "YAML bir işaretleme dili değil" kendi sürüm 1.1) bir veri gösterimi biçimidir Unicode serileştirme . XML gibi diğer dillerden kavramları veya RFC 2822 tarafından belgelendiği şekliyle elektronik mesaj formatı kullanır . YAML, 2001 yılında Clark Evans tarafından önerildi ve kendisi, Brian Ingerson ve Oren Ben-Kiki tarafından uygulandı .

Amacı, basit CSV'den daha ayrıntılı bilgileri sunarken, ancak neredeyse karşılaştırılabilir bir okunabilirliği ve her durumda XML'den çok daha fazlasını sağlamaktır .

2015 yılında , Symfony 2, Drupal 8 ve phpMyAdmin , diğerlerinin yanı sıra, giriş ve çıkış formatları için onu kullanır.

Özellikler

YAML fikri, hemen hemen her verinin listelerin, ilişkisel dizilerin ve skaler verilerin bir kombinasyonu ile temsil edilebilmesidir . YAML, bu veri biçimlerini ( YAML temsilleri ) ve bu verileri bir karakter akışı ( YAML akışı ) olarak sunmak için bir sözdizimini açıklar .

Bir bilgisayar, işlem yükü (İngilizce yükü ) ile YAML YAML gösterimine akı uygulamasına gider . Operasyon boşaltma (İngilizce dökümü ) yoluyla akının temsilini harcıyor .

YAML akışının sözdizimi az ayrıntılı, verimli, oldukça basit XML ancak daha az kompakt CSV . Yüksek seviyeli dillerde yaygın olan yukarıdaki veri türleriyle kolayca eşleştirilebilirken, insanlar tarafından olabildiğince okunabilir olduğu tespit edilmiştir. Bu dillerden belirli notasyonları ödünç alır.

Bir verinin türünü (İngilizce etiketi ) belirlemek de mümkündür . Bununla birlikte, bu kesinlik herhangi bir kısıtlama yapmaz ve daha çok bir işaretleme veya bir modelleme gibi işlev görür.

Bir YAML dosyası tek bir okuma geçişinde analiz edilebilir.

YAML sözdizimi, bir kişi tarafından daha kolay okunabilmesi için JSON'dan farklıdır. XML'den farklıdır, çünkü öncelikle verilerin serileştirilmesiyle ve daha az dokümantasyonla ilgilidir.

phpMyAdmin , MySQL veritabanlarının diğer formatların yanı sıra YAML'dedışa aktarılmasına izin verir.

Misal

Veri yapısının hiyerarşisi homojen bir girinti ile sağlanır , burada seviye başına dört boşluk.

--- receipt: Oz-Ware Purchase Invoice date: 2012-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. ...

Uygulamalar

YAML için kitaplıklar farklı diller için mevcuttur.

ActionScript  :

  • as3yaml Actionscript 3 için jvyaml Limanı

C  :

  • LibYAML
  • SYCK

C ++  :

  • LibYAML'nin C ++ yerleşimi
  • yerel C ++ kitaplığı yaml-cpp

Kristal

  • Crystal standart kitaplığında bulunan YAML modülü

D  :

  • D: YAML

Erlang  :

  • yamler LibYAML tabanlı

Git  :

  • goyaml LibYAML tabanlı ancak tamamen Go'da yeniden yazılmıştır

Haskell  :

  • YAML sözdizimi ve yardımcı programlarının YamlReference uygulaması
  • LibYAML'nin yaml kapsüllenmesi
  • SYCK'nin HsSyck arayüzü
  • json2yaml dönüşümü

Java  :

  • Jackson
  • Syck API tabanlı ve RbYAML'den esinlenen jvyaml
  • SnakeYAML, YAML 1.1'i destekler

JavaScript  :

  • JS-YAML, PyYAML'nin yerel yeniden yazımı. JS'deki en eksiksiz YAML 1.1+ ayrıştırıcısı
  • CommonJS js-yaml, YAML'nin azaltılmış bir alt kümesi
  • javascript-yaml-ayrıştırıcı
  • jsyaml, stackoverflow'da kod

Lua  :

  • Lua-Syck
  • yaml, LibYAML kapsüllemesi

.NET Framework  :

  • .NET için Yaml Kitaplığı (C #)
  • C # 'da YAML Ayrıştırıcısı, neredeyse tam YAML uygulaması. C # ile yazılmıştır.
  • .NET, Visual Studio ve Powershell için YAML

OCaml  :

  • OCaml-Syck

Amaç-C  :

  • YAML.framework, LibYAML tabanlı.
  • syck / ext / kakao

Perl  :

  • YAML, birkaç YAML ayrıştırıcısına arabirim.
  • YAML :: Tiny, kullanılabilir bir YAML alt kümesini uygular; küçük, saf Perl'de ve tam uygulamadan daha hızlı
  • YAML :: Syck, SYCK C kütüphanesinin kapsüllenmesi, eksiksiz ve hızlı
  • YAML :: XS, LibYaml'ın kapsüllenmesi. Daha iyi YAML 1.1 uyumluluğu
  • YAML :: Any, en iyi YAML uygulamasını algılar ve bunu standart YAML API ile kapsüller

PHP  :

  • Spyc, saf PHP uygulaması
  • PHP-Syck, SYCK kitaplığının kapsüllenmesi
  • Dan Symfony'nin YAML Bileşen, Symfony çerçevesi
  • PECL Yaml, LibYAML kitaplığının kapsüllenmesi

Python  :

  • PyYaml, çok tamamlandı. Yerel veya isteğe bağlı Python, LibYAML kullanır.
  • PySyck, SYCK kütüphanesinin kapsüllenmesi.

Yakut  :

  • YAML, standart kütüphanenin bir parçasıdır (gem Psych, enkapsülan LibYAML)

A  :

  • CRAN YAML, LibYAML kitaplığının kapsüllenmesi

Pas  :

  • yaml-rust, YAML 1.2'nin saf Rust'ta uygulanması

Scala  :

  • scala-yaml

Tcl  :

  • Tcl 8.4'te mevcuttur

XML  :

  • YAXML, sonlandırılmadı

Notlar ve referanslar

  1. (inç) "  Bir Başka Biçimlendirme Dili (YAML) 1.0  "
  2. (inç) "  YAML, İşaretleme Dili Değildir (YAML ™) Sürüm 1.1  "
  3. YAML Taslak 0.1 , Clark Evans, 11 Mayıs 2001, Yahoo! Teknoloji grupları: sml-dev.
  4. http://docs.octoprint.org/en/master/configuration/yaml.html
  5. (inç) Jackson için veri biçimi arka uçları
  6. (tr) YılanYAML
  7. "  Yakut / psikiyatri  " üzerine GitHub'dan (üzerinde erişilen 1 st Ağustos 2020 ) .

Ayrıca görün

Dış bağlantılar

  • (tr) Resmi site
  • (tr) YAML biçimi üzerinde symfony belgelerine veya YAML biçimi PHP geliştiricileri açıkladı.