Основные технические ограничения на атрибуты:
Имена атрибутов уникальны в пределах элемента они украшают.
Атрибут атрибута не имеет значения; Процессоры XML не обязаны обрабатывать атрибуты элемента в физическом порядке, в котором они отображаются в документе.
Значения атрибутов должны быть текстовыми. Они не могут содержать элементы, комментарии или инструкции по обработке. Они не могут содержать CDATA. Они не могут содержать неэкранированные символы разметки.
Эти ограничения довольно строго регулируют то, что они есть и не подходят для использования атрибутов. Использование атрибутов для моделирования карты или словаря, ключи которого являются именами XML, и значения которых можно разумно представить в виде строк: хорошо. Использование атрибутов для сериализации данных, порядок обработки которых важен: плохо. (Я смотрю на вас, XAML.) Сохранение сериализованного XML в значении атрибута: возможно, но обычно указывает, что вы делаете что-то неправильно.
Идея, что элементы для данных и атрибутов предназначены для метаданных, - это возврат к тем временам, когда XML не использовался в качестве формата универсальной сериализации. Его широко игнорируют, главным образом потому, что во многих случаях способность представлять пары имя/значение имеет более очевидную выгоду, чем разделение данных и метаданных.
Не могли бы вы связаться с точным местом w3c, если вы видели эту рекомендацию? Я хотел бы получить правильный контекст для этой рекомендации, прежде чем пытаться ответить. – Oded
http://www.w3schools.com/xml/xml_attributes.asp раздел element vs attributes –
w3schools - это не то же самое, что w3c. –