Основное преимущество, которое он предоставляет, - это независимое от системы представление иерархических данных. Текст и файлы свойств с разделителями-запятыми более подходят во многих местах, где использовался XML, но способность представлять сложные структуры данных и типы данных, осведомленность о наборе символов и документ по стандартам позволили использовать его в качестве хорошего формата обмена между приложениями. 1001 *
Мое небольшое предложение по улучшению языка - изменить работу конечных тегов. Только представьте, сколько пропускной способности и дискового пространства будет сэкономлено, если вы можете завершить тег с </>
, например <my_tag>blah</>
вместо <<code>my_tag>blah</my_tag>. Вам не разрешено иметь перекрывающиеся теги, поэтому я не знаю, почему стандарт настаивает на том, что текст даже больше, чем нужно. На самом деле, зачем вообще использовать угловые скобки?
Уродство угловых скобок - хорошее доказательство того, что это могло бы быть: JSON. JavaScript Object Notation достигает большинства целей XML с гораздо меньшим набором текста. Другой альтернативный синтаксис, который делает XML пригодным для использования, - это синтаксис Builder, используемый Groovy и Ruby. Это гораздо более естественно и читабельно.