Leí que después de años se usará yaml en lugar de xml. Por favor compare las ventajas y desventajas relativas de cada especificación.YAML comparado con XML
Respuesta
YAML es mucho menos detallado. La relación señal/ruido es más alta sin todos los corchetes. Esto hace que sea subjetivamente más fácil de leer y editar para muchas personas. Por otro lado, es un poco (solo un poco) más difícil de analizar.
La mayor diferencia, sin embargo, es que XML está destinado a ser un lenguaje de marcado y YAML es realmente más un formato de datos. La representación de datos jerárquicos simples tiende a realizarse con mayor gracia en YAML, pero el texto real marcado es incómodo de representar.
EDIT: Me gustaría añadir, como referencia, que YAML es esencialmente (aunque no históricamente) una versión "limpia" de JSON ("JavaScript Object Notation") que elimina en gran medida el ruido de línea percepción de este último (entre paréntesis y tirantes). Si no puede encontrar una biblioteca YAML adecuada para un proyecto en particular, entonces JSON es una alternativa más ampliamente respaldada con muchas de las ventajas de YAML.
Sé que esto es antiguo, pero -1 porque esto * ni siquiera intenta * justificar XML (por ejemplo, esquemas y consultas que son solo dos ventajas). –
No lo publiqué para "hacer un caso para XML", sino para explicar en términos generales los propósitos de los dos. Cualquiera que sepa que quiere ejecutar XQuery tendrá una comprensión de XML mucho mayor que la que puede ofrecer un comentario de tres párrafos, y cualquiera que no lo haga debería elegir formatos basados en eso. –
Así como una pequeña pedantería RE JSON: YAML * tiene la intención * de no ser tal cosa, * es anterior a * JSON por varios años, y de hecho es un superconjunto del lenguaje. Esto ocurrió inicialmente por casualidad, afaiu, con solo un par de diferencias menores, hasta que se notó, momento en el que las especificaciones se alineaban entre sí en colaboración. –
YAML es menos detallado que XML; sin embargo, YAML está destinado sólo para datos y no es técnicamente un lenguaje de marcado (Y AML A 'int M arkup L anguage).
el enlace de arriba está roto –
La principal ventaja que veo es que es más fácil de leer por los humanos. También me gusta un poco mejor que XML porque tiene el concepto de ciertas estructuras de datos (diccionarios y matrices) ya integradas.
Por otro lado, el soporte de la biblioteca para analizar YAML no está cerca de XML, por lo que es más difícil usarlo para cumplir uno de los principales usos de XML. Esa es la comunicación entre aplicaciones.
No estoy tan convencido de que YAML sea el futuro. Aunque lo he usado, y es WorksForMe ™, a menudo tengo quejas sobre la especificación. El último de los cuales es Why I Don't Like YAML.
Una gran ventaja para XML son las opciones para validar (opiniones entre paréntesis):
- Schematron (muy potente)
- W3C XML Schema (sólido)
- DTD (no tan agradable (se no es ni siquiera xml))
- XSD (más utilizado)
y opciones para consultar datos:
- XPath (en la versión 2.x aún mejor)
- XQuery (en su mayoría no es de interés más)
YAML es probablemente el más fácil de leer para los humanos en la mayoría de los casos.
JSON es bastante fácil de leer y es la forma en que JavaScript almacena los datos (corríjame si está mal). Me gusta mucho usar JSON cuando escribo mis propios lenguajes de programación estilo C para analizar valores.
+1 Las personas tienden a olvidar esquemas y consultas cuando hablan de JSON/YAML. Utilizo un enfoque híbrido, donde visualizo datos como JSON en mi WS, pero manejo XML internamente. Funciona bastante bien si se cumplen algunas reglas de coherencia. –
Además, no se olvide de XSLT, mientras que 1.0/1.1 es un poco aburrido y 2.0 no es compatible con Microsoft, pueden triturar muy limpiamente documentos XML para su posterior procesamiento. –
Y lo que es peor, las personas tienden a olvidar que este tipo de herramientas también existen para JSON y YAML (aunque según una búsqueda rápida en Google, parece que las herramientas de consulta para YAML están en la infancia). Tener buenas herramientas para trabajar con un formato doloroso solo puede justificar su uso hasta que haya herramientas similares para formatos menos dolorosos. – Andy
- 1. FogBugz comparado con OnTime
- 2. ¿Crisol comparado con Gerrit?
- 3. Wicket 1.5 comparado con 1.4
- 4. ¿Serializar un objeto a JSON, XML, YAML?
- 5. ¿Cómo convierto YAML a XML en Perl?
- 6. ¿Cómo puedo caminar un árbol YAML con Perl's YAML :: Tiny?
- 7. cmd- coma para separar los parámetros ¿Comparado con el espacio?
- 8. XML vs YAML frente a JSON para un RPG 2D
- 9. YAML: diccionario con valor vacío
- 10. ¿Existe algo para convertir xml -> yaml directamente?
- 11. ¿Salió la salida de registro a XML, JSON o YAML?
- 12. ¿Cómo pones HTML o XML en un YAML?
- 13. Cómo convertir archivos de configuración symfony yaml a formato xml
- 14. yaml en Google App Engine con index.html
- 15. python2.7: configuración de registro con yaml
- 16. Analizando puppet-api yaml con python
- 17. ruby yaml ypath como xpath?
- 18. Ruby YAML :: cargar
- 19. Yaml merge en Python
- 20. JavaScript YAML Parser
- 21. Serialise a YAML usando XStream en Java
- 22. tipo de mime YAML?
- 23. Valor de columna predeterminado con Doctrine2 y Symfony2 con YAML?
- 24. Invalidar subclave YAML
- 25. Conservar orden YAML perl
- 26. Analizador YAML en Delphi?
- 27. Emisor Yaml en C++
- 28. PHP YAML Parsers
- 29. Emacs Edición Yaml
- 30. C# Yaml Procesamiento
¿Dónde lo leíste? –
¿En qué contexto? –