Hi!
Die Idee, Attribut-Gruppen zusammenzufassen, finde ich generell richtig.
Ich will es nur nicht übertreiben, weil die Gruppierung außer bei den Universalattributen (core + i18n + events) aus Anwendersicht nichts bringt. Oder anders gesagt, es ist in der Regel (außer bei den Universalattributen) nicht bekannt, dass einige Attribute gruppiert wurden. Das ist hauptsächlich ein DTD-Ding. Die Universalattribute bilden hier eine Ausnahme. Da sie fast jedes Element kennt, "langweilt" es irgendwann, wenn sie ständig aufgeführt sind und man kann schlechter die individuellen Attribute finden. Deswegen war mein Vorschlag, nur sie als eine große Gruppe klappbar zu gestalten und alles anderen Gruppen gleich aufzulösen.
Leider haben wir keine Unicode Punkte, die öffnen/schliessen versinnbildlichen.
Schon die Absenz globaler verständlicher Symbole für allgemeines Öffnen und Schließen ist hier das bremsende Element. Gegen fehlende Zeichen in Unicode kann man mit Grafiken kontern.
Ein vergleichbares Verwirrungspotential sehe ich bei der Auflistung der Kindelemente. [...]
[...] Semantisch wird es sich wohl um Listen handeln.
Ob die Listenpunkte dann gefloatet werden, ist sekundär in der Betrachtung.
Nicht wirklich. Auf den ersten Blick sieht es wie eine Aufzählung aus, aber das täuscht, weil zwischen den Elementen Verknüpfungs- und Reihenfolgebedingungen eingearbeitet sind und für die Elemente oder Gruppen unterschiedliche Wiederholungen gestattet sind.
Auch hier würde ich auf deutschliche Label statt auf DTD-Identifier %whatthefuck setzen.
Ja, das bedeutet aber Arbeit, sich da zum einen verständliche Übersetzungen zu suchen (kleines Problem), die auch noch einzeln für jedes dieser Entitys zu berücksichtigen (schon aufwendiger) und dann bleibt wieder die Sinnfrage aus Anwendersicht, weil die Gruppierung mit Ausnahme von Block- und Inline-Elementen wieder nur so ein DTD-Ding ist. Deswegen sähe ich auch hier gern wieder einen Kompromiss: Alles auflösen außer Block und Inline, und denen richtige Namen geben.
Lo!