var: Dank an alle!

Beitrag lesen

Hallo Gunnar

Wie willst du eine Baumstruktur sonst codieren?

Naja, man kann ein hierarchisches Verhältnis wie in HTML implizit ausdrücken, in dem man die Kindelemente innerhalb der Tags oder Klammern des Elternelementes notiert, aber man könnte dies ja auch explizit machen, beispielsweise indem man einem selektierten Element mit einer Anweisung / einem Operator, zum Beispiel mit dem Pluszeichen, ein Kindelement zuweist (wobei die Selektierung der Elemente analog zur Syntax in CSS erfolgen könnte).

Also, nehmen wir beispielsweise mal die folgende Struktur...

  <body>

    <header>

      <h1>Hello World!</h1>

      <h2>Hello Spencer!</h2>

    </header>

  </body>

...dann könnte ich die selben Informationen theoretisch auch so darstellen...

// { [Selektor] + neues Element }

{ [body] + header }

{ [body > header] + h1, h2 }

{ [body > header > h1] ('Hello World!') }

{ [body > header > h2] ('Hello Spencer!') }


// oder wahlweise wie bisher

{ [body]

  + header {

    + h1 ('Hello World!'),

    + h2 ('Hello Spencer!')

  }

}

Auf die Art würde man sich von dem Zwang lösen, die Struktur 1:1 abbilden zu müssen, und hätte die Möglichkeit, unabhängig von formalen Zusammenhängen, auch inhaltliche Zusammenhänge korrekt darzustellen, wie in dem Beispiel am Ende meines Beitrags auf den sich deine Antwort bezieht.

Die Idee ist also, auch innerhalb des HTML-Dokumentes Elemente nicht nur deklarieren zu können, sondern sie eben auch selektieren zu können.

Letztlich ist das HTML-Dokument ja ohnehin nur die Informationsgrundlage für den Browser, von der ausgehend er dann seine Repräsentation des DOM erstellt, welche wiederum nach dem Einlesen etwaiger Skripte gegebenenfalls nicht mehr viel mit dem Ausgangsdokument gemein hat.

Ich sehe also nicht, warum der Code zwingend implizit die Struktur abbilden muss.

Zwar ist die Syntax meiner Beispiele für alternative Schreibweisen, die ich hier bislang gepostet habe, zweifellos stark verbesserungswürdig, aber ich hoffe meinen Grundgedanken konnte ich jetzt irgendwie verständlich machen! ;-)

Beste Grüße,

var ♂