Для чего нужны атрибуты?

Обычно, все относящиеся к элементу данные , которые нужно отобразить помещаются внутри содержимого элемента. Атрибуты же используются для хранения информации которая не обязательно будет отображена(например, свойства элемента, категория или информация по отображению).

В XML спецификации не установлено строгих ограничений относительно типа информации, которую можно описывать с помощью атрибутов или внутри содержимого элемента.

Когда вы отображаете документ с использованием CCS-таблицы, браузер не выводит атрибуты или их значения.

Одним из преимуществ задания определенного типа информации через атрибуты элементов заключается в том, что можно при создании описания типа документа определить внутри его атрибуты, тем самым ограничить значения которые можно присвоить атрибуту. (См раздел DTD/Объявления списков атрибутов) Синтаксический анализатор учитывает эти ограничения и может сам следить за правильностью введенных значений. В то время как ограничения для типов символьных данных элементов не предусмотрены и контроль возлагается на разработчика.