Для какого типа применения / использования лучше всего подходит YAML?
Трудно однозначно ответить. Вместо этого я попытаюсь привести несколько примеров того, что YAML не подходит (по моему скромному мнению).
<name type="string">Orion</name>
<age type="integer">26</age>
Это тот случай, когда полезно смешивать как атрибуты, так и значения в XML. YAML не имеет атрибутов, поэтому вы должны использовать определение типа, чтобы решить, что такое дата / целое число / строка / и т. Д. - это не работает для сложных или пользовательских типов.
<user>
.... 10 lines of stuff
<sub-user>
...15 more lines of stuff
</sub-user>
.... 10 more lines of stuff belonging to user
</user>
Это тот случай, когда закрывающие теги в XML дают много преимуществ. Если бы вы отформатировали вышеупомянутые данные в YAML, используя только отступы, чтобы обеспечить «охват», было бы намного сложнее определить, где все начинается и заканчивается.
Для примера приведу цитату из официальной спецификации yaml на yaml.org
YAML - это прежде всего язык сериализации данных. XML был спроектирован так, чтобы быть обратно совместимым со стандартным обобщенным языком разметки (SGML), и поэтому на него было наложено много конструктивных ограничений, которые YAML не разделяет. Унаследовав наследие SGML, XML предназначен для поддержки структурированной документации, где YAML более тесно ориентирован на структуры данных и обмен сообщениями. Где XML является пионером во многих областях, YAML является результатом уроков, извлеченных из XML и других технологий.