Я читал, что через годы yaml будет использоваться вместо xml. Просьба сравнить относительные преимущества и недостатки каждой спецификации.YAML по сравнению с XML
ответ
YAML намного меньше подробностей. Отношение сигнал-шум выше без всех скобок. Это делает его более легким для чтения и редактирования для многих людей. С другой стороны, немного (только немного) сложнее разобрать.
Главное отличие заключается в том, что XML предназначен для языка разметки, а YAML - это скорее формат данных. Представление простых, иерархических данных, как правило, более изящно сделано в YAML, но фактический помеченный текст неудобен для представления.
EDIT: Я хотел бы добавить для справки, что YAML по существу (хотя и не исторически) является «более чистой» версией JSON («Обозначение объекта Javascript»), которая в значительной степени устраняет воспринимаемый линейный шум последнего (скобки и брекеты). Если вы не можете найти подходящую библиотеку YAML для конкретного проекта, JSON является более широко используемой альтернативой со многими преимуществами YAML.
Я знаю, что это старый, но -1, потому что этот * даже не пытается * сделать случай для XML (например, схемы и запросы, которые являются всего лишь двумя привилегиями). – 2013-02-19 22:34:14
Я не публиковал его, чтобы «сделать дело для XML», но объяснить в общих чертах цели этих двух. Любой, кто знает, что они хотят запускать XQuery, будет иметь гораздо более глубокое понимание XML, чем комментарий с тремя абзацами, и любой, кто этого не делает, не должен выбирать форматы на основе этого. –
Точно так же, как небольшое педантизм RE JSON: YAML * предназначен для того, чтобы не быть такой вещью, она предшествует * JSON на несколько лет и на самом деле является надмножеством языка. Это произошло изначально случайно, afaiu, только с несколькими незначительными отличиями, пока не было замечено, и в этот момент спецификации были согласованы друг с другом. –
YAML менее подробный, чем XML; однако, YAML предназначен только для данных и не является технически язык разметки (Y ПОД «Int М arkup л anguage).
ссылка на это сообщение отключена –
Главным преимуществом, которое я вижу, является то, что он более легко читается человеком. Мне также нравится это немного лучше, чем XML, поскольку в нем уже встроена концепция определенных структур данных (словарей и массивов).
С другой стороны, поддержка библиотеки для разбора YAML нигде не близка к XML, поэтому его труднее использовать для выполнения одного из основных применений XML. Это взаимодействие между приложениями.
Я не настолько убежден в том, что YAML является будущим. Пока я использовал его, и это WorksForMe ™, я часто жалуюсь на спецификацию. Последний из которых - Why I Don't Like YAML.
Большой плюс для XML являются параметры проверки (мнения в скобках):
- Schematron (очень мощный)
- W3C XML Schema (твердый)
- DTD (не так приятно (это даже не XML))
- XSD (наиболее часто используемых)
и опции для запроса данных:
- XPath (в версии 2.х даже лучше)
- XQuery (в основном не интересует больше)
YAML, вероятно, самый простой для чтения для людей в большинстве случаев.
JSON достаточно прост в чтении, и именно так JavaScript хранит данные (исправьте меня, если не так). Мне очень нравится использовать JSON при написании собственных языков программирования стиля C для анализа значений.
+1 Люди склонны забывать схемы и запросы, когда говорят о JSON/YAML. Я использую гибридный подход, где я обрабатываю данные как JSON в своих WS, но обрабатываю XML внутри себя. Он работает достаточно хорошо, если придерживаться некоторых правил согласованности. – 2013-02-19 22:33:41
Кроме того, не забудьте XSLT - в то время как 1.0/1.1 являются своего рода отверстиями, а 2.0 не поддерживается Microsoft, они могут очень тщательно обрезать XML-документы для дальнейшей обработки. – 2013-02-19 22:38:09
И что еще хуже, люди, как правило, забывают, что эти инструменты также существуют для JSON и YAML (хотя, согласно быстрому поиску Google, похоже, что инструменты запросов для YAML находятся в зачаточном состоянии). Наличие хороших инструментов для работы с болезненным форматом может только оправдать его использование до тех пор, пока не появятся аналогичные инструменты для менее болезненных форматов. – Andy
Где вы это читали? –
В каком контексте? –