Domanda

Perché scegliere? YAML su XML o qualsiasi altro formato?

È stato utile?

Soluzione

Sono d'accordo con Sergio;YAML fornisce un formato facilmente modificabile dagli esseri umani, ma anche un buon modo per rappresentare in modo pulito le strutture dei dati.

YAML tende ad essere molto più leggibile dall'uomo, IMO.

YAML è più una tecnica di serializzazione dei dati, piuttosto che un linguaggio di markup.

Altri suggerimenti

YAMLI principali vantaggi di sono la leggibilità e la compattezza.Oh, ed è ampiamente supportato su varie piattaforme e lingue.

YAML è molto popolare nella comunità Ruby, dove viene utilizzato principalmente al posto di XML per i file di configurazione in Rails e Merb, ad esempio.

Sceglierei YAML se i documenti dovessero essere modificati o creati da esseri umani.Solo un pensiero.

Per quale tipo di applicazione/utilizzo è più adatto YAML?

È difficile rispondere in modo chiaro.Cercherò invece di fornire alcuni esempi di cosa sia YAML non lo è buono per (a mio modesto parere).

<name type="string">Orion</name>
<age type="integer">26</age>

Questo è un caso in cui è utile mescolare sia attributi che valori in XML.YAML non ha attributi, quindi devi usare l'inferenza del tipo per decidere cosa è una data/intero/stringa/ecc: questo fallisce per i tipi complessi o definiti dall'utente.

<user>
  .... 10 lines of stuff
  <sub-user>
    ...15 more lines of stuff
  </sub-user>
  .... 10 more lines of stuff belonging to user
</user>

Questo è un caso in cui i tag di chiusura in XML offrono molti vantaggi.Se dovessi formattare i dati di cui sopra in YAML, utilizzando solo il rientro per fornire l'"ambito", sarebbe molto più difficile dire dove iniziano e finiscono le cose.

Per buona misura, ecco una citazione da specifiche ufficiali di yaml su yaml.org

YAML è principalmente un linguaggio di serializzazione dei dati.XML è stato progettato per essere retrocompatibile con lo Standard Generalized Markup Language (SGML) e quindi presentava molti vincoli di progettazione che YAML non condivide.Ereditando l'eredità di SGML, XML è progettato per supportare la documentazione strutturata, mentre YAML è più strettamente mirato alle strutture di dati e alla messaggistica.Laddove XML è pioniere in molti domini, YAML è il risultato delle lezioni apprese da XML e da altre tecnologie.

Utilizzo YAML come sostituto semplice ed economico della scrittura di un linguaggio specifico per un dominio (in particolare nei casi in cui altri sviluppatori effettueranno la manutenzione;Non sono sicuro che lo userei quando i non sviluppatori lo manterrebbero)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top