Zusammenfassung

  • Am 14. Februar 2013 veröffentlichte das W3C den ersten öffentlichen Entwurf zu HTML Templates. Er sah inaktive DOM-Teilbäume vor, aus denen später Instanzen entstehen konnten.
  • Die HTML-Texte von 2014 nahmen <template> in die Sprache auf. Der Inhalt liegt in einem DocumentFragment unter template.content und lässt sich kopieren, befüllen und in das aktive Dokument einsetzen.

Der erste Artikel des Tages erhält ein Bild, eine Überschrift, einen Anreißer und einen Link. Der zweite braucht dieselben Felder. Beim zwanzigsten würde niemand gern noch einmal die HTML-Klammern zählen. Frühe dynamische Seiten versteckten Mustermarkup oder bauten jedes Stück aus Zeichenketten zusammen. Ausgerechnet der Browser, der HTML bereits hervorragend lesen konnte, hatte lange keinen ordentlichen Abstellraum für gelesene, aber noch unbenutzte Seitenstücke.

Der erste öffentliche W3C-Entwurf vom 14. Februar 2013 richtete einen solchen Raum ein. Markup innerhalb von <template> wird zu DOM-Knoten verarbeitet. Der Inhalt bleibt zunächst inaktiv und kann später als Vorlage für neue Exemplare dienen. Die Redaktion schreibt die Kartenform einmal. Ein Skript nimmt sich eine Kopie, wenn eine Nachricht tatsächlich auf die Seite soll.

Der Raum hat einen ungewöhnlichen Grundriss. Laut dem HTML-5.1-Arbeitsentwurf vom Februar 2014 befindet sich der Inhalt im DocumentFragment, das template.content liefert. Dieses Fragment gehört einem getrennten Dokument ohne Browsing-Kontext. Dort laufen Skripte nicht; Formularelemente greifen nicht in das Formular der aktiven Seite ein; das Template selbst wird nicht dargestellt. Wer nur die gewöhnlichen Kinder des Elements durchsucht, steht vor einem leeren Türrahmen. Der Schlüssel heißt content.

Als Anschauungsmaterial wählte der Entwurf Katzen. Eine Tabellenzeile mit leeren Zellen ruht im Template. Das Skript kopiert sie, trägt die Daten einer Katze ein und fügt die Zeile in die Tabelle. Für die nächste Katze beginnt es wieder beim Muster. Die Nachrichtenredaktion würde Titel, Bild und Link anstelle von Fellfarbe und Namen eintragen. Jede Karte bekommt eigene Daten; die Vorlage wartet auf die nächste Meldung.

Die HTML5-Empfehlung vom 28. Oktober 2014 führte den Mechanismus im Haupttext. Die W3C-Publikationsgeschichte zeigt den eigenen Dokumentenweg: Arbeitsentwurf 2013, Arbeitsgruppennotiz im März 2014. Der Abstellraum wurde Teil des regulären HTML-Hauses.

Im heutigen HTML-Standard bleibt die Grundfunktion klar beschrieben. template deklariert Fragmente, die Skripte klonen und einfügen können; beim Rendern stellt das Element selbst nichts dar. Der Standard legt die Aufbewahrung und das Klonen des Fragments fest. Auf der anderen Seite des Vertrags stehen die Autoren: Sie wählen den Inhalt, prüfen die Links und entscheiden, wann aus einer ruhenden Kopie eine sichtbare Karte wird.

Das ist Browserarbeit mit leicht absurdem Auftritt. Er parst, baut und verwahrt, während auf dem Bildschirm nichts geschieht. Doch sobald zwanzig Artikelkarten gebraucht werden, zahlt sich die Stille aus. Das Musterzimmer steht schon bereit; niemand muss mitten im Nachrichtentag die Wände erneut hochziehen.