Недавно очень ясно осознал на собственном опыте, насколько же разными могут быть структурные модели XML. Разные они и по восприятию, и удобству обработки, и простоте создания. Но о вопросах генерации я могу только догадываться и предполагать, поскольку особо этим не занимался никогда, то про обработку могу действительно поделиться некоторыми мыслями, которые меня посетили после продолжительного периода "ковыряния" различных XML структур данных.

Горизонтальная модель показалась мне более читаемой. Т.е. она более похожа на табличные выборки из баз данных. И как не странно, её проще парсить и обрабатывать. Ставка на атрибуты, идентификаторы которых уникальны в приделах одного элемента, себя оправдывает и не порождает излишеств.

Вертикальная модель подразумевает активное использование дочерних элементов. Из-за этого документ получается более "толстым". Причем зачастую. использование дочерних элементов не очень оправдано. Они не используются как контейнеры для других элементов и даже CDATA там не хранится. А читать труднее. Хотя и появляется некая древовидная структура, но достаточно вырожденная и почти плоская. Ну и много "паразитной" разметки получается как ...

Читать далее