Camping_RIDER: Die Standards verschlimmbessern...

Beitrag lesen

Aloha ;)

Das Zulassen der ID als Attribut im schließenden Tag würde es sowohl dem Editor als auch dem Browser und schonnerst recht dem Menschen ermöglichen, Fehler zu erkennen und eine Richtigstellung vorzunehmen.

Und der Sinn von Attributen ist welcher? Richtig - Eigenschaften für ein Element festzulegen. Der Sinn von start- und endtag ist der, das Element zu definieren und seine Kindelemente zu umschließen.

In wiefern soll es sinnvoll sein, wenn innerhalb der Elementdefinition an zwei Stellen ein und dasselbe Attribut definiert werden kann - denn nichts anderes wäre es, wenn Attribute im schließenden Tag zugelassen wären.

Was passiert, wenn im Quelltext fehlerhafterweise steht:

<div id="foo">  
    <div id="bar">  
    </div>  
</div id="baz">  

Welche Id hat das äußere div dann? Ist das innere div überhaupt geschlossen?

Heißt das, wenn ich eine id ändere, muss ich gleich zwei tags bearbeiten? Heißt das, ein schließendes Tag ohne Attribute ist nicht mehr zulässig, denn dann ist ja nicht mehr klar was gemeint ist? Heißt das, ich muss jedem Element eine id geben, oder etwa, dass noch mehr Attribute im schließenden Tag vorkommen sollen?

Außerdem - vergleich mal die (fehlerhaft entstandenen) Codeschnipsel:

Bisher - interpretierbar:

<div id="foo">  
    <div id="bar">  
</div>  
    </div>  

Nach deinem Vorschlag kann hier passieren - uninterpretierbar (*):

<div id="foo">  
    <div id="bar">  
</div id="foo">  
    </div id="bar">  

Was soll mit solchem Code passieren?

Soll

<div>  
</div id="foo">  

einen Fehler wegen Uninterpretierbarkeit werfen?

Oder verlangst du lediglich, dass Attribute im schließenden Tag notiert werden dürfen (der Übersichtlichkeit halber), aber keine funktionale Bedeutung haben? Wozu gibts denn Kommentare?

Mir scheint, du argumentierst vom falschen Standpunkt aus. Die Sprachstandards sind nicht dazu da, uns als Schreibern möglichst viel Arbeit (Denk- und Schreib-) abzunehmen. Die Sprachstandards sollen sinnvoll sein, eine Eindeutigkeit der 'Aussagen' gewährleisten und die Sprache für sich dabei möglichst einfach und wenig fehleranfällig halten. (Keine abschließende Aufzählung)

HTML ist wie XML und allgemein SGML eine Sprache, die darauf beruht, dass Anfang und Ende eines Elements aus der Struktur des Gesagten und nur daraus zu bestimmen sind. Es ist hier eben NICHT erwünscht, dass etwas wie (*) entstehen kann. Elemente sollen verschachtelt sein, nicht kreuz und quer liegen.

Vielleicht verlangt die Spezifikation im Moment von uns Programmierern, dass wir durch geeignete Maßnahmen (Einrückungen, Kommentierung von End-Tags) selbst ein Auge auf die Struktur haben, die wir entwerfen. Aber ist nicht genau das integraler Teil unserer Arbeit?

Wenn ich als Programmierer nach Gebrauch der mir zur Verfügung stehenden Maßnahmen nicht mehr weiß, welches div-Tag wo endet (oder enden sollte), dann habe ich definitiv etwas falsch gemacht. Kein Grund, die Sprache deshalb zu verstümmeln. Lediglich ein Grund für mich, sauberer zu arbeiten.

Grüße,

RIDER

--
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[