HTML5-Handbuch - die neuen Features von HTML5
Vokabular dieser Regeln, sowie die Regeln selbst, entstammen der Document Type Definition (DTD) von HTML 4.01, nachzulesen unter:
http://www.w3.org/TR/REC-HTML40/sgml/dtd.html
Content-Modelle in HTML5
Gegenüber HTML 4.01 ist das Set von unterschiedenen Content-Modellen in HTML5 komplexer. Erfreulicherweise hat das Team, das für die Spezifikation zuständig ist, eine nützliche Übersichtsgrafik erstellt, die das Zusammenspiel der Content-Modelle illustriert.
Bild 4.16: Content-Modelle in HTML5
Als Ganzes betrachtet ist die Content-Modell-Terminologie von HTML5 verwirrender und weniger schlüssig als diejenige von HTML 4.01. Das liegt auch daran, dass die Content-Modelle von HTML5 nicht als Entities einer DTD definiert sind, sondern einfach als beschreibende Ausdrücke dienen. Erst im konkreten Zusammenhang mit einzelnen Elementen wird die Anwendung der Begriffe sinnvoll.
Metadata
Metadaten, die für das gesamte aktuelle HTML-Dokument gelten, können in HTML5 einerseits im Dokumentkopf vorkommen, andererseits aber auch im Dokumentkörper. Im Dokumentkopf sind es die typischen Kopfdaten-Elemente wie
meta
,
link
,
base
,
script
,
style
und
title
, die zur Metadaten-Klasse gehören. Das
script
-Element kann jedoch auch im Dokumentkörper vorkommen, ebenso wie sein Pendant, das
noscript
-Element. Ein weiteres, in HTML5 neues, Script-auslösendes Element,
command
, kommt im Dokumentkörper vor.
Weil Metadaten auch außerhalb des Dokumentkörpers vorkommen, hat der Bereich für Metadata in der obigen Grafik nur eine Teilschnittmenge mit dem sonst alles umschließenden Flow-Content.
Flow
Flow-Content ist das »normale« Content-Modell für Elemente innerhalb des Dateikörpers. Folgende Elemente gehören zum Flow-Content:
a
,
abbr
,
address
,
area
(in Verbindung mit dem
map
-Element),
article
,
aside
,
audio
,
b
,
bdo
,
blockquote
,
br
,
button
,
canvas
,
cite
,
code
,
command
,
datalist
,
del
,
details
,
dfn
,
div
,
dl
,
em
,
embed
,
fieldset
,
figure
,
footer
,
form
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
header
,
hgroup
,
hr
,
i
,
iframe
,
img
,
input
,
ins
,
kbd
,
keygen
,
label
,
link
(in Verbindung mit Mikrodaten),
map
,
mark
,
math
,
menu
,
meta
(in Verbindung mit Mikrodaten),
meter
,
nav
,
noscript
,
object
,
ol
,
output
,
p
,
pre
,
progress
,
q
,
ruby
,
samp
,
script
,
section
,
select
,
small
,
span
,
strong
,
style
(in Verbindung mit dem
scoped
-Attribut),
sub
,
sup
,
svg
,
table
,
textarea
,
time
,
ul
,
var
und
video
.
Wenn ein Element als Elementinhalt selbst Flow-Content enthalten darf, so bedeutet dies, dass im Prinzip all diese Elemente innerhalb seines Elementinhalts oder innerhalb von Kindelementen vorkommen können. In einigen Fällen ist jedoch die Verschachtelung gleicher Elemente nicht erlaubt. So dürfen interaktive Elemente wie
a
,
button
,
object
usw. keine weiteren Elemente ihresgleichen enthalten.
Sectioning
Elemente mit dem Content-Modell Sectioning sind solche, die eigene Header und Footer enthalten können. Das sind die Elemente
article
,
aside
,
nav
und
section
(das
body
-Element wird nicht dazu gezählt).
Der Sinn und Zweck von Sectioning in HTML5 besteht letztlich darin, Erstreckungsräume von Elementen abzubilden, die über die Grenzen des eigentlichen Elements hinausreichen. Eine Überschrift in einem strukturierten Dokument »gilt«, wenn nichts anderes angegeben ist, beispielsweise für alle Inhalte bis zur nächsten Überschrift gleicher oder höherer Ordnung. Durch Überschriften entsteht also eine natürliche Outline-Struktur. Durch Elemente mit dem Content-Modell Sectioning kann diese natürliche Ordnung aufgebrochen werden. Innerhalb eines Elements mit Content-Modell Sectioning ist eine eigene Outline-Struktur möglich, d. h. Überschriftenstrukturen innerhalb von solchen Elementen sind unabhängig von der Überschriftenstruktur außerhalb des Sectioning-Elements.
Heading
Zum Heading-Modell gehören die sechs Überschriftenebenen
h1
bis
h6
sowie das überschriftengruppierende Element
hgroup
. Das Heading-Content-Modell hängt eng mit dem Sectioning-Content-Modell zusammen. Denn Überschriften erzeugen die Outline-Struktur eines Abschnitts oder des gesamten Dokumentkörpers.
Phrasing
Phrasing Content ist in der HTML5-Terminologie einfach der Text innerhalb des Dokumentkörpers oder innerhalb von anderen Elementen. Wenn ein Element selbst Phrasing Content als Inhalt erlaubt, so bedeutet dies, dass das Element Text und andere Phrasing-Elemente enthalten kann.
Phrasing-Elemente
Weitere Kostenlose Bücher