Bon y'a quand même un truc qui me gêne donc au moins pour ça je vais poster, c'est que tu prends jamais en compte le DTD/Schéma, qui joue un rôle énorme. Tout document XML a un DTD/Schéma, même si il est pas explicitement défini en tant que tel dans le fichier XML (c'est un tort cela dit), mais il modifie énormément ce que tu as (pas) le droit de faire dans ce (type de) document précis.
Puis garder à l'esprit que le XML dans son usage actuel est fait pour
pouvoir être écrit, et être lisible (pas pour être
lu, nuance

) par des humains, même si ça a déjà été dit ça fait jamais de mal
Ensuite, pour contrer l'argument (je croyais que c'était un exemple débile" au pif ?

) des attributs répétés. Les balises (nom de balise) c'est de la sémantique, et les attributs (plus souvent leur contenu, moins souvent le nom, mais c'est variable) c'est du contenu, donc en dupliquant les attributs tu dupliquerai le contenu. Et si tu prends le DTD en compte, que fais tu pour les attributs dont la valeur par défaut est utilisée, car définie dans le DTD ? Pour moi ça rend pour raison de consistance l'idée même de répéter les attributs. (sans tenir compte de leur valeur)
Pour l'histoire de checksum, c'est complètement sans rapport. Comme je l'ai dit vite fait plus haut, la redondance est une vérification d'intention, vis-à-vis celui qui a écrit le XML. En gros quand ça détecte l'erreur c'est pour te dire "Ah, si tu voulais faire ça tu as du te tromper quelque part", ou alors simplement "Espèce de boulet, tu as mal orthographié le nom de la balise", ou même "T'es un gros naze qui n'as rien compris au format". Effectivement après ça marche pas partout mais ça on es tous d'accord
Après pour le </> j'ai toujours pas envie d'écrire un roman, alors je dirais juste deux choses: 1) Pense aussi au DTD/XSD 2) Le format du document (cf DTD) joue un rôle important dans la détermination de l'utilité de la redondance.