Websiteentwicklung: XHTML: Elementreferenz
Im Folgenden gibt es eine tabellarische Zusammenfassung der Module von XHTML 1.1 und XHTML+RDFa.
Übersicht Kurzschreibweise
[Bearbeiten]Es wird jeweils eine Kurzschreibweise verwendet, mit folgenden Bedeutungen, wobei Buchstaben wie a, b, c etc jeweils Ausdrücke repräsentieren:
- a ?
- Kein oder ein Ausdruck a ist erlaubt.
- a +
- Ein oder mehr Ausdrücke a sind erforderlich
- a *
- Kein, ein oder mehr Ausdrücke a sind erlaubt
- a , b
- a gefolgt von b ist erforderlich
- a | b
- Es ist erforderlich, entweder a oder b anzugeben
- a - b
- a ist erlaubt, aber ohne Element von b
- Klammern ()
- Der Inhalt der Klammer bildet einen Ausdruck. Unterausdrücke darin werden zu einem Ausdruck ausgewertet, bevor der Klammerausdruck ausgewertet wird
- Erweiterung vordefinierter Elemente
- Einige Attribute erweitern den Funktionsumfang von bereits definierten Attributen durch weitere Attribute, dies wird gekennzeichnet durch den Elementnamen gefolgt von einem &
- Erforderliche Attribute
- Falls ein Attribut für ein Element erforderlich ist, ist hinter den Attributnamen ein * gesetzt
- Attributwerte
- Mögliche Attributewerte sind in Klammern hinter dem Attributnamen angegeben
- Spezifische Attributwerte
- Manchmal bestehen die Attributwerte nur aus spezifischen Zeichenfolgen. Diese Werte sind in Anführungszeichen angegeben, gegebenenfalls bei mehreren mit | separiert. Falls eine Voreinstellung vorhanden ist, ist an diesen Wert ein * angehängt. Gibt es nur einen festen Wert, so ist dieser nach einem = in Anführungszeichen angegeben.
<!-- Das ist ein Kommentar -->
Kollektionsname | Attribute |
---|---|
Kernattribute (Core) | xml:space ("default"* | "preserve"), class (CDATA), id (ID), title (CDATA) |
Sprachattribute (I18N) | dir ("ltr" | "rtl"), xml:lang (CDATA) |
Ereignisse (Event) | onclick (Script), ondblclick (Script), onmousedown (Script), onmouseup (Script), onmouseover (Script), onmousemove (Script), onmouseout (Script), onkeypress (Script), onkeydown (Script), onkeyup (Script) |
Stilvorlage (Style; veraltet) | style (CDATA) |
Allgemein verwendbare Attribute (Common) | Core + Event + I18N + Style |
Kernmodule
[Bearbeiten]Diese Module sind in allen Varianten von XHTML verfügbar.
html
ist das Wurzelelement eines XHTML-Dokumentes.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
html | I18N, id (ID), version (CDATA), xmlns (URI = "http://www.w3.org/1999/xhtml") | head, body |
head | I18N, id (ID), profile (URIs) | title |
title | I18N, id (ID) | PCDATA |
body | Common | (Heading | Block | List)* |
Textmodul
[Bearbeiten]Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
abbr | Common | (PCDATA | Inline)* |
acronym | Common | (PCDATA | Inline)* |
address | Common | (PCDATA | Inline)* |
blockquote | Common, cite (URI) | (Heading | Block | List)* |
br | Core | leer, kein Inhalt |
cite | Common | (PCDATA | Inline)* |
code | Common | (PCDATA | Inline)* |
dfn | Common | (PCDATA | Inline)* |
div | Common | (PCDATA | Flow)* |
em | Common | (PCDATA | Inline)* |
h1 | Common | (PCDATA | Inline)* |
h2 | Common | (PCDATA | Inline)* |
h3 | Common | (PCDATA | Inline)* |
h4 | Common | (PCDATA | Inline)* |
h5 | Common | (PCDATA | Inline)* |
h6 | Common | (PCDATA | Inline)* |
kbd | Common | (PCDATA | Inline)* |
p | Common | (PCDATA | Inline)* |
pre | Common | (PCDATA | Inline)* |
q | Common, cite (URI) | (PCDATA | Inline)* |
samp | Common | (PCDATA | Inline)* |
span | Common | (PCDATA | Inline)* |
strong | Common | (PCDATA | Inline)* |
var | Common | (PCDATA | Inline)* |
Dazu Werden einige Elemente zu Gruppen zusammengefaßt und mit einer Bezeichnung versehen:
- Überschriften (Heading)
- h1 | h2 | h3 | h4 | h5 | h6
- Blockelemente (Block)
- address | blockquote | div | p | pre
- Inzeilige, Phrasenelemente (Inline)
- abbr | acronym | |br | cite | code | dfn | em | kbd | q | samp | span | strong | var
- Laufender Inhalt (Flow)
- Heading | Block | Inline
Andere Module fügen zu den Gruppen bisweilen weitere Elemente hinzu, besonders zu Block und Inline. In diesem Wiki-Buch werden Heading, Block und das noch folgende List gemeinsam als Blockelemente bezeichnet.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
a | Common, Attribut accesskey (Zeichen), charset (Zeichenkodierung), Attribut href (URI), hreflang (Sprachkürzel), rel (Verweistyp), rev (Verweistyp), tabindex (Zahl), type (Inhaltstyp) | (PCDATA | Inline - a)* - Auch Nachfahren von a dürfen kein a enthalten |
a
wird zur Gruppe Inline hinzugefügt.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
dl | Common | (dt | dd)+ |
dt | Common | (PCDATA | Inline)* |
dd | Common | (PCDATA | Flow)* |
ol | Common | li+ |
ul | Common | li+ |
li | Common | (PCDATA | Flow)* |
Die Elemente werden zur Gruppe List zusammengefaßt. Die Gruppe wird zur Gruppe Flow hinzugefügt. (In diesem Wiki-Buch werden Listen mit zur Gruppe der Blockelemente gerechnet).
Texterweiterung
[Bearbeiten]Präsentationsmodul
[Bearbeiten]Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
b | Common | (PCDATA | Inline)* |
big | Common | (PCDATA | Inline)* |
hr | Common | leer, kein Inhalt |
i | Common | (PCDATA | Inline)* |
small | Common | (PCDATA | Inline)* |
sub | Common | (PCDATA | Inline)* |
sup | Common | (PCDATA | Inline)* |
tt | Common | (PCDATA | Inline)* |
hr
wird zu Block hinzugefügt.
Die anderen zu Inline.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
del | Common, cite (URI), datetime (Datum) | (PCDATA | Flow)* |
ins | Common, cite (URI), datetime (Datum) | (PCDATA | Flow)* |
Die Elemente werden zu Inline und Block hinzugefügt. Obwohl die Elemente eigentlich inzeilige Element sind, können sie aufgrund der besonderen Bedeutung auch dort verwendet werden, wo Blockelemente stehen dürfen. Das Inhaltsmodell richtet sich also eigentlich nach dem Elternelement. Entsprechend sollten sie keinen Inhalt enthalten, der im Elternelement nicht erlaubt wäre.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
bdo | Core, dir* ("ltr" | "rtl"), xml:lang | (PCDATA | Inline)* |
Das Element wird zu Inline hinzugefügt.
Aufgeführt ist hier das komplette Formularmodul, alternativ gibt es etwa für eine Basis-Variante von XHTML1.1 für Mobiltelephone ein Basis-Formularmodul, auf welches hier nicht weiter eingegangen wird.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
form | Common, accept (Inhaltstyp), accept-charset (Zeichenkodierung), action* (URI), method ("get"* | "post"), name (CDATA), enctype (Inhaltstyp) | (Heading | List | Block - form | fieldset)+ |
input | Common, accept (Inhaltstyp), accesskey (Zeichen), alt (CDATA), checked ("checked"), disabled
("disabled"), maxLänge (Zahl), name (CDATA), readonly ("readonly"), size (Zahl), src (URI), tabindex (Zahl), type ("text"* | "password" | "checkbox" | "button" | "radio" | "submit" | "reset" | "file" | "hidden" | "image"), value (CDATA) |
leer, kein Inhalt |
select | Common, disabled ("disabled"), multiple ("multiple"), name (CDATA), size (Zahl), tabindex (Zahl) | (optgroup | option)+ |
option | Common, disabled ("disabled"), label (CDATA), selected ("selected"), value (CDATA) | PCDATA |
textarea | Common, accesskey (Zeichen), cols* (Zahl), disabled ("disabled"), name (CDATA), readonly ("readonly"), rows* (Zahl), tabindex (Zahl) | PCDATA |
button | Common, accesskey (Zeichen), disabled ("disabled"),
name (CDATA), tabindex (Zahl), type ("button" | "submit"* | "reset"), value (CDATA) |
(PCDATA | Heading | List | Block - Form | Inline - Formctrl)* |
fieldset | Common | (PCDATA | legend | Flow)* |
label | Common, accesskey (Zeichen), for (Fragmentidentifizierer) | (PCDATA | Inline - label)* |
legend | Common, accesskey (Zeichen) | (PCDATA | Inline)* |
optgroup | Common, disabled ("disabled"), label* (CDATA) | option+ |
Mit dem Modul werden zwei Gruppen von Elementen definiert.
Form: form | fieldset
Formctrl: input | select | textarea | label | button
Form wird zu Block hinzugefügt- Formctrl wird zu Inline hinzugefügt. Elemente von Formctrl sollten offenbar nur als Nachfahren von Form auftreten.
Aufgeführt ist hier das komplette Tabellenmodul, alternativ gibt es etwa für eine Basis-Variante von XHTML1.1 für Mobiltelephone ein Basis-Tabellenmodul, auf welches hier nicht weiter eingegangen wird.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
caption | Common | (PCDATA | Inline)* |
table | Common, border (Pixel), cellpadding (Länge), cellspacing (Länge), frame ("void" | "above" | "below" |
"hsides" | "lhs" | "rhs" | "vsides" | "box" | "border"), rules ("none" | "groups" | "rows" | "cols" | "all"), summary (CDATA), width (Länge) |
caption?, ( col* | colgroup* ), (( thead?, tfoot?, tbody+ ) | ( tr+ )) |
td | Common, abbr (CDATA), align ("left" | "center" | "right" | "justify" | "char"), axis (CDATA), char (Zeichen), charoff (Länge), colspan (Zahl), headers (Liste von Fragmentidentifzierern), rowspan (Zahl), scope ("row" | "col" | "rowgroup" | "colgroup"), valign ("top" | "middle" | "bottom" | "baseline") | (PCDATA | Flow)* |
th | Common, abbr (CDATA), align ("left" | "center" | "right" | "justify" | "char"), axis (CDATA), char (Zeichen), charoff (Länge), colspan (Zahl), headers (Liste von Fragmentidentifzierern), rowspan (Zahl), scope ("row" | "col" | "rowgroup" | "colgroup"), valign ("top" | "middle" | "bottom" | "baseline") | (PCDATA | Flow)* |
tr | Common, align ("left" | "center" | "right" | "justify" | "char"), char (Zeichen), charoff (Länge), valign ("top" | "middle" | "bottom" | "baseline") | (td | th)+ |
col | Common, align ("left" | "center" | "right" | "justify" | "char"), char (Zeichen), charoff (Länge), span (Zahl), valign ("top" | "middle" | "bottom" | "baseline"), width (Liste mit Längen) | leer, kein Inhalt |
colgroup | Common, align ("left" | "center" | "right" | "justify" | "char"), char (Zeichen), charoff (Länge), span (Zahl), valign ("top" | "middle" | "bottom" | "baseline"), width (Liste mit Längen) | col* |
tbody | Common, align ("left" | "center" | "right" | "justify" | "char"), char (Zeichen), charoff (Länge), valign ("top" | "middle" | "bottom" | "baseline") | tr+ |
thead | Common, align ("left" | "center" | "right" | "justify" | "char"), char (Zeichen), charoff (Länge), valign ("top" | "middle" | "bottom" | "baseline") | tr+ |
tfoot | Common, align ("left" | "center" | "right" | "justify" | "char"), char (Zeichen), charoff (Länge), valign ("top" | "middle" | "bottom" | "baseline") | tr+ |
table
wird zu Block hinzugefügt.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
img | Common, alt* (CDATA), height (Länge), longdesc (URI), name (CDATA), src* (URI), width (Länge) | leer, kein Inhalt |
img
wird zu Inline hinzugefügt.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
a& | coords (CDATA), shape ("rect" | "circle" | "poly" | "default") | - |
area | Common, accesskey (Zeichen), alt* (CDATA), coords (CDATA), href (URI), nohref ("nohref"), shape ("rect"* | "circle" | "poly" | "default"), tabindex (Zahl) | leer, kein Inhalt |
img& | usemap (Fragmentidentifizierer oder URI mit Fragmentidentifizierer) | - |
input& | usemap (Fragmentidentifizierer oder URI mit Fragmentidentifizierer) | - |
map | I18N, Events, class (CDATA), id* (ID), title (CDATA) | ((Heading | List | Block) | area)+ |
object& | usemap (Fragmentidentifizierer oder URI mit Fragmentidentifizierer) | - |
map
wird zu Inline hinzugefügt.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
img& | ismap ("ismap") | - |
input& | ismap ("ismap") | - |
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
object | Common , archive (URIs), classid (URI), codebase (URI), codetype (Inhaltstyp), data (URI), declare ("declare"), height (Länge), name (CDATA), standby (CDATA), tabindex (Zahl), type (Inhaltstyp), width (Länge) | (PCDATA | Flow | param)* |
param | id (ID), name* (CDATA), type (Inhaltstyp), value (CDATA), valuetype ("data"* | "ref" | "object") | leer, kein Inhalt |
object
wird zu Inline hinzugefügt, kann zudem auch innerhalb von head
notiert werden.
In letzterem Falle sollte kein Inhalt verwendet werden, der nicht zum Bereich von head
paßt.
Element | Attribute |
---|---|
a& | onblur (Skript), onfocus (Skript) |
area& | onblur (Skript), onfocus (Skript) |
form& | onreset (Skript), onsubmit (Skript) |
body& | onload (Skript), onunload (Skript) |
label& | onblur (Skript), onfocus (Skript) |
input& | onblur (Skript), onchange (Skript), onfocus (Skript), onselect (Skript) |
select& | onblur (Skript), onchange (Skript), onfocus (Skript) |
textarea& | onblur (Skript), onchange (Skript), onfocus (Skript), onselect (Skript) |
button& | onblur (Skript), onfocus (Skript) |
Die Ereignisse gehören zur Attributkollektion Event.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
meta | I18N, content* (CDATA), http-equiv (NMTOKEN, XML-Name), id (ID), name (NMTOKEN, XML-Name), scheme (CDATA) | leer, kein Inhalt |
meta
wird als möglicher Inhalt von head
hinzugefügt.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
noscript | Common | (Heading | List | Block)+ |
script | charset (Zeichen), defer ("defer"), id (ID), src (URI), type* (Inhaltstyp) | PCDATA |
script
und noscript
werden zu Block und Inline hinzugefügt.
Zusätzlich ist script
auch in head
erlaubt.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
style | I18N, id (ID), media (Medientyp), title (CDATA), type* (Inhaltstyp) | PCDATA |
style
ist in head
erlaubt.
style-Attribut-Modul
[Bearbeiten]Dies erlaubt die Verwendung des Attributes style als allgemein verwendbares Attribut, oben bereits als solches aufgeführt, gilt allerdings als veraltet.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
link | Common, charset (Zeichenkodierung), href (URI), hreflang (Sprachkürzel), media (Medientyp), rel (Verweistyp), rev (Verweistyp), type (Inhaltstyp) | leer, kein Inhalt |
link
ist in head
erlaubt.
Element | Attribute | Minimales Inhaltsmodell |
---|---|---|
base | href* (URI), id (ID) | leer, kein Inhalt |
base
ist in head
erlaubt.
Die Elemente dieses Moduls sind nicht in XHTML 1.0 verfügbar, aber in XHTML 1.1 und XHTML+RDFa.
Elements | Attributes | Minimales Inhaltsmodell |
---|---|---|
ruby | Common | (rb, (rt | (rp, rt, rp))) |
rbc | Common | rb+ |
rtc | Common | rt+ |
rb | Common | (PCDATA | Inline - ruby)* |
rt | Common, rbspan (CDATA) | (PCDATA | Inline - ruby)* |
rp | Common | PCDATA* |
ruby
wird zu Inline hinzugefügt.
Das maximale Inhaltsmodell für ruby
sieht wie folgt aus: ((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))
Modul für target
[Bearbeiten]Das Attribut dieses Moduls ist in XHTML1.0 strict und XHTML1.1 nicht verfügbar, aber in XHTML1.0 transitional und XHTML+RDFa.
Element | Attribute |
---|---|
a& | target (CDATA) |
area& | target (CDATA) |
base& | target (CDATA) |
link& | target (CDATA) |
form& | target (CDATA) |
Hier ist zwischen XHTML+RDFa 1.0 und 1.1 zu unterscheiden, 1.1 hat ein paar Attribute mehr, diese Einschränkung ist als Bemerkung angegeben.
Attribut | Bemerkung |
---|---|
about (SafeCURIEorCURIEorIRI) | |
content (CDATA) | |
datatype (TERMorCURIEorAbsIRI) | Falls nicht angegeben, ist der Wert 'string' anzunehmen. |
property (TERMorCURIEorAbsIRIs) | |
rel (TERMorCURIEorAbsIRIs) | |
resource (SafeCURIEorCURIEorIRI) | |
rev (TERMorCURIEorAbsIRIs) | |
typeof (TERMorCURIEorAbsIRIs) | |
prefix ( NCName ': ' IRI )+ | Nur in Version XHTML+RDFa 1.1. |
vocab (IRI) | Nur in Version XHTML+RDFa 1.1. Die IRI definiert das Präfix, welches bei CURIEs zu verwenden ist, die ohne Präfix und Doppelpunkt angegeben werden. |
inlist (Wert leer oder "inlist") | Nur in Version XHTML+RDFa 1.1. |
Diese Kollektion wird zu Common hinzugefügt. Zusätzlich fügt XHTML+RDFa 1.1 noch das Attribut lang zu I18N hinzu. Es hat die gleiche Bedeutung wie xml:lang und muß, sofern verwendet, den gleichen Wert wie xml:lang haben.
Weitere Module
[Bearbeiten]Die XHTML1.1-Modularisierung hat einige weitere Module, die weder in XHTML1.1 noch in XHTML+RDFa verwendet werden. Dies sind: Applet-Modul (veraltet), Rahmen-Modul (Frames Module), Modul für eingebettete Rahmen (Iframe Module), Name-Identifikationsmodul (Name Identification Module; veraltet), Altlasten-Modul (Legacy Module; veraltet).