Websiteentwicklung: XHTML: Elementreferenz

Aus Wikibooks

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.

Kommentar[Bearbeiten]

<!-- Das ist ein Kommentar -->

Attributkollektion[Bearbeiten]

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.


Strukturmodul[Bearbeiten]

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.


Hypertextmodul[Bearbeiten]

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.


Listenmodul[Bearbeiten]

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.

Editiermodul[Bearbeiten]

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.


Bidirektionales Textmodul[Bearbeiten]

Element Attribute Minimales Inhaltsmodell
bdo Core, dir* ("ltr" | "rtl"), xml:lang (PCDATA | Inline)*

Das Element wird zu Inline hinzugefügt.


Formularmodul[Bearbeiten]

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.

Tabellenmodul[Bearbeiten]

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.


Graphikmodul[Bearbeiten]

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.


Modul anwenderseitige verweissensitive Graphiken[Bearbeiten]

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.


Modul verweissensitive Graphiken über Dienstprogramme[Bearbeiten]

Element Attribute Minimales Inhaltsmodell
img& ismap ("ismap") -
input& ismap ("ismap") -


Objektmodul[Bearbeiten]

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.


Ereignismodul[Bearbeiten]

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.


Metainformationsmodul[Bearbeiten]

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.


Skriptmodul[Bearbeiten]

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.


Stilvorlagenmodul[Bearbeiten]

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.


Modul für link[Bearbeiten]

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.


Modul für base[Bearbeiten]

Element Attribute Minimales Inhaltsmodell
base href* (URI), id (ID) leer, kein Inhalt

base ist in head erlaubt.


Ruby-Modul[Bearbeiten]

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)


Modul für RDFa - Metainformations-Attribut-Modul[Bearbeiten]

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).