Dies ist die deutsche �bersetzung der W3C Empfehlung "XHTML™ 1.0: The Extensible HyperText Markup Language" vom 26. Januar 2000. Dieses Dokument kann �bersetzungsfehler enthalten. Die normative englische Version des Dokumentes befindet sich unter http://www.w3.org/TR/2000/REC-xhtml1-20000126
Bitte melde Fehler oder Verbesserungsvorschl�ge zu dieser �bersetzung an den �bersetzer oder die Mailingliste www-trans-de@egroups.com (Archiv).
Ich bedanke mich bei allen, die sich an der �bersetzung direkt oder indirekt beteiligt haben, insbesondere bei Jens Kubieziel und Alan J. Flavell.
Dieses Dokument ist urheberrechtlich gesch�tzt, Copyright � 1999 - 2000 W3C� (MIT, INRIA, Keio), All Rights Reserved. Die Rechte an der �bersetzung liegen beim �bersetzer, Copyright � 2000 Bj�rn H�hrmann.
Copyright �2000 W3C� (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
Diese Spezifikation definiert XHTML 1.0, eine Reformulierung von HTML 4 als XML 1.0 Anwendung und drei DTDs, die den durch HTML 4 definierten entsprechen. Die Semantik der Elemente und ihrer Attribute wird in der W3C Empfehlung f�r HTML 4 definiert. Diese Semantik schafft die Grundlage f�r die zuk�nftige Erweiterbarkeit von XHTML. Kompatibilit�t mit vorhandenen HTML Benutzeragenten ist m�glich, indem ein kleiner Satz Richtlinien befolgt wird.
Dieser Abschnitt beschreibt den Status dieses Dokumentes zum Zeitpunkt seiner Ver�ffentlichung. Es kann sein, da� andere Dokumente dieses Dokument abl�sen. Der letzte Status dieser Dokumentserie wird beim W3C verwaltet.
Dieses Dokument ist von Mitgliedern des W3C und anderen interessierten Parteien gepr�ft und vom Direktor als W3C Empfehlung unterst�tzt worden. Es ist ein stabiles Dokument und kann als Referenzmaterial verwendet oder als normative Referenz von einem anderen Dokument angef�hrt werden. Die Aufgabe des W3Cs bei der Erstellung der Empfehlung ist es, Aufmerksamkeit auf diese Spezifikation zu lenken und ihre weite Verbreitung zu f�rdern. Dies verbessert die Funktionalit�t und die Interoperabilit�t des Webs.
Dieses Dokument wurde als Teil der W3C HTML Aktivit�t erstellt. Die Ziele der HTML Arbeitsgruppe (nur f�r Mitglieder) werden in der Charta der HTML Arbeitsgruppe (nur f�r Mitglieder) besprochen.
Eine Liste aktueller W3C Empfehlungen und anderer technischer Dokumente kann bei http://www.w3.org/TR gefunden werden.
�ffentliche Diskussionen �ber HTML Merkmale finden auf der Mailling-Liste www-html@w3.org (Archiv) statt.
Bitte melde Fehler in diesem Dokument bei www-html-editor@w3.org.
Die Liste bekannter Fehler in dieser Spezifikation ist unter http://www.w3.org/2000/01/REC-xhtml1-20000126-errata erh�ltlich.
XHTML ist eine Familie bestehender und zuk�nftiger Dokumenttypen und Module die HTML 4 [HTML] reproduzieren, unterteilen und erweitern. Dokumenttypen der XHTML Familie sind XML basierend und letztlich bestimmt, um in Verbindung mit XML-basierenden Benutzeragenten zu arbeiten. Die Einzelheiten dieser Familie und ihre Entwicklung werden detaillierter im Abschnitt �ber Zuk�nftige Entwicklungen besprochen.
XHTML 1.0 (diese Spezifikation) ist der erste Dokumenttyp der XHTML Familie. Es ist eine Reformulierung der drei HTML 4 Dokumenttypen als Anwendungen von XML 1.0 [XML]. Es ist beabsichtigt, da� er als Sprache f�r Inhalte verwendet wird, die sowohl XML-konform sind und, wenn einige einfache Richtlinien befolgt werden, in HTML 4 konformen Benutzeragenten funktionieren. Entwickler, die die Inhalte ihrer Seiten auf XHTML 1.0 umstellen, werden die folgenden Vorteile feststellen:
Die XHTML Familie ist der n�chste Schritt in der Weiterentwicklung des Internets. Indem Inhaltsentwickler heute auf XHTML umsteigen, k�nnen sie in die XML-Welt mit allen dazugeh�rigen Vorteilen einsteigen, w�hrend sie sich auf die Abw�rts- wie auch die zuk�nftige Kompatibilit�t ihrer Inhalte verlassen k�nnen.
HTML 4 [HTML] ist eine SGML (Standard Generalized Markup Language) Anwendung entsprechend dem Internationalen Standard ISO 8879 und wird allgemein als die Standard-Ver�ffentlichungssprache des World Wide Web angesehen.
SGML ist eine Sprache zur Beschreibung von Markup Sprachen, insbesondere solcher, die im elektronischen Dokumentaustausch, Dokumentmanagement und der Dokumentver�ffentlichung benutzt werden. HTML ist ein Beispiel f�r eine in SGML definierte Sprache.
SGML gibt es seit Mitte der 80er Jahre und ist ziemlich stabil geblieben. Ein gro�er Teil dieser Stabilit�t kommt von der Tatsache, da� die Sprache sowohl merkmalsreich wie auch flexibel ist. Jedoch hat diese Flexibilit�t auch einen Preis. Dieser Preis ist ein Ma� an Komplexit�t, die ihre Annahme in einer Vielzahl von Umgebungen gehemmt hat, einschlie�lich des World Wide Web.
HTML, wie urspr�nglich erdacht, sollte eine Sprache f�r den Austausch wissenschaftlicher und anderer technischer Dokumente sein, die sich auch f�r den Gebrauch durch Nichtdokumentspezialisten eignet. HTML nahm sich dem Problem der Komplexit�t von SGML an, indem sie einen kleinen Satz struktureller und semantischer Tags festlegt, geeignet um relativ einfache Dokumente zu erstellen. Zus�tzlich zum Vereinfachen der Dokumentstruktur f�gte HTML Unterst�tzung f�r Hypertext hinzu. Multimediaf�higkeiten wurden sp�ter hinzugef�gt.
In einem bemerkenswert kurzen Zeitraum wurde HTML sehr popul�r und wuchs schnell �ber ihre urspr�ngliche Bestimmung hinaus. Seit der Einf�hrung von HTML hat es einen schnellen Prozess, neue Elemente zum Gebrauch innerhalb von HTML (als Norm) und zur Anpassung von HTML an vertikale, �u�erst spezialisierte M�rkte zu erfinden, gegeben. Diese Unmenge neuer Elemente hat zu Kompatibilit�tsproblemen f�r Dokumente zwischen verschiedenen Plattformen gef�hrt.
Da sich die Heterogenit�t sowohl von Software als auch von Plattformen schnell vermehrte, ist klar, da� die Eignung von 'klassischem' HTML 4 zum Gebrauch auf diesen Plattformen ein wenig eingeschr�nkt ist.
XML™ ist die Abk�rzung f�r Extensible Markup Language und ein Akronym f�r Extensible Markup Language [XML].
XML wurde als ein Mittel erdacht, die St�rke und Flexibilit�t von SGML ohne ihre Komplexit�t zu erhalten.
W�hrend XML diese n�tzlichen Merkmale bewahrt, entfernt sie viele der komplexeren Merkmale von SGML, die die Erstellung und Gestaltung geeigneter Software sowohl schwierig als auch teuer machen.
Die Vorteile, auf XHTML 1.0 umzustellen, werden oben beschrieben. Einige der Vorteile, in XHTML im allgemeinen umzustellen, sind:
Die folgenden Begriffe werden in dieser Spezifikation verwendet. Diese Begriffe erweitern die Definitionen in [RFC2119] basierend auf �hnlichen Definitionen in ISO/IEC 9945-1:1990 [POSIX.1]:
Diese Version von XHTML liefert eine Definition f�r streng konforme XHTML Dokumente, welche auf Tags und Attribute des XHTML Namensraum beschr�nkt sind. Siehe Abschnitt 3.1.2 f�r Informationen �ber die Verwendung von XHTML mit anderen Namensr�umen, zum Beispiel um in RDF ausgedr�ckte Metadaten in XHTML Dokumente einzubinden.
Ein streng konformes XHTML Dokument ist ein Dokument, das nur die in dieser Spezifikation beschriebenen F�higkeiten verbindlich erfordert. Ein solches Dokument mu� allen folgenden Kriterien entsprechen:
Es mu� gegen eine der drei DTDs in Anhang A validieren.
Das Wurzelelement des Dokumentes mu� <html>
sein.
Das Wurzelelement des Dokumentes mu� den XHTML Namensraum mit dem
xmlns
Attribut [XMLNAMES]
festlegen. Der Namensraum f�r XHTML ist definiert als
http://www.w3.org/1999/xhtml
.
Es mu� eine DOCTYPE Deklaration vor dem Wurzelelement im Dokument geben. Der in die DOCTYPE Deklaration einbezogene Public-Identifier mu� auf eine der drei DTDs aus Anhang A verweisen mit Hilfe des jeweiligen Formal-Public-Identifiers. Der System-Identifier darf ge�ndert werden um lokale Konventionen widerzuspiegeln.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd">
Hier ist ein Beispiel f�r ein minimales XHTML Dokument.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Virtual Library</title> </head> <body> <p>Moved to <a href="http://vlib.org/">vlib.org</a>.</p> </body> </html>
Beachte, da� in diesem Beispiel die XML Deklaration enthalten ist. Eine XML Deklaration, wie die oben, ist nicht in allen XML Dokumenten erforderlich. XHTML Dokumentautoren werden stark ermutigt, XML Deklarationen in allen ihren Dokumenten zu verwenden. Eine solche Deklaration ist erforderlich, wenn die Zeichenkodierung des Dokumentes eine andere als die standardm��igen UTF-8 oder UTF-16 ist.
Der XHTML Namensraum darf zusammen mit anderen XML Namensr�umen benutzt werden wie durch [XMLNAMES] definiert, obwohl solche Dokumente keine streng konformen Dokumente wie oben definiert sind. Zuk�nftige Arbeit des W3C wird M�glichkeiten ansprechen, um Konformit�t f�r Dokumente zu spezifizieren, die mehrere Namensr�ume einbeziehen.
Das folgende Beispiel zeigt den Weg �ber den XHTML 1.0 zusammen mit der MathML Empfehlung benutzt werden kann.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>A Math Example</title> </head> <body> <p>The following is MathML markup:</p> <math xmlns="http://www.w3.org/1998/Math/MathML"> <apply> <log/> <logbase> <cn> 3 </cn> </logbase> <ci> x </ci> </apply> </math> </body> </html>
Das folgende Beispiel zeigt den Weg �ber den XHTML 1.0 Markup in andere XML Namensr�ume integriert werden kann:
<?xml version="1.0" encoding="UTF-8"?> <!-- initially, the default namespace is "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en"> <title>Cheaper by the Dozen</title> <isbn:number>1568491379</isbn:number> <notes> <!-- make HTML the default namespace for a hypertext commentary --> <p xmlns='http://www.w3.org/1999/xhtml'> This is also available <a href="http://www.w3.org/">online</a>. </p> </notes> </book>
Ein konformer Benutzeragent mu� allen folgenden Kriterien entsprechen:
ID
(z.B. das
id
Attribut der meisten XHTML Elemente) als
Fragmentbezeichner akzeptieren.Der XML Prozessor normalisiert Zeilenendsequenzen verschiedener Systeme in ein einzelnes Zeilenvorschub-Zeichen, das der Anwendung �bergeben wird. Der XHTML Benutzeragent mu� zus�tzlich die folgenden Zeichen als Leerraum behandeln:
In Elementen, wo das 'xml:space' Attribut auf 'preserve' gesetzt ist, mu� der Benutzeragent alle Leerr�ume erhalten (mit Ausnahme von f�hrenden und abschlie�enden Leerr�umen die entfernt werden sollten). Ansonsten werden Leerr�ume entsprechend den folgenden Regeln behandelt:
Leerr�ume in Attributwerten werden entsprechend [XML] verarbeitet.
Aufgrund der Tatsache, da� XHTML eine XML Anwendung ist, m�ssen bestimmte Praktiken, die im SGML basierendem HTML 4 [HTML] zul�ssig waren, ge�ndert werden.
Wohlgeformtheit ist ein neues Konzept, das durch [XML] eingef�hrt wurde. Im wesentlichen bedeutet dies, da� alle Elemente entweder abschlie�ende Tags haben m�ssen, oder in einer speziellen Form geschrieben werden m�ssen (wie unten beschrieben) und da� alle Elemente korrekt verschachtelt werden m�ssen.
Obwohl es in SGML illegal ist, zu �berlappen, wurde es h�ufig in vorhandenen Browsern toleriert.
RICHTIG: verschachtelte Elemente
<p>here is an emphasized <em>paragraph</em>.</p>
FALSCH: �berlappende Elemente
<p>here is an emphasized <em>paragraph.</p></em>
XHTML Dokumente m�ssen Kleinschreibung f�r alle HTML Element- und Attributnamen verwenden. Dieser Unterschied ist notwendig, da XML Gro�-/Kleinschreibungsempfindlich ist, z.B. sind <li> und <LI> unterschiedliche Tags.
In SGML basierendem HTML 4 wurde bestimmten Elementen erlaubt,
den End-Tag auszulassen; mit dem folgendem Element wurde dessen
Schlie�ung impliziert. Diese Auslassung ist nicht erlaubt im XML
basierendem XHTML. Alle Elemente au�er denen, die in der DTD als
EMPTY
deklariert wurden, m�ssen einen End-Tag haben.
RICHTIG: abgeschlossene Elemente
<p>here is a paragraph.</p><p>here is another paragraph.</p>
FALSCH: nicht abgeschlossene Elemente
<p>here is a paragraph.<p>here is another paragraph.
Alle Attributwerte m�ssen in Anf�hrungszeichen eingeschlossen werden, sogar jene, die scheinbar numerisch sind.
RICHTIG: In Anf�hrungszeichen gesetzte Attributwerte
<table rows="3">
FALSCH: nicht in Anf�hrungszeichen gesetzte Attributwerte
<table rows=3>
XML unterst�tzt Attributminimierung nicht. Attribut-Wert Paare
m�ssen ganz ausgeschrieben werden. Attributnamen wie
compact
und checked
k�nnen nicht in Elementen
auftauchen, ohne da� ihr Wert angegeben wird.
RICHTIG: nicht-minimierte Attribute
<dl compact="compact">
FALSCH: minimierte Attribute
<dl compact>
Leere Elemente m�ssen entweder einen End-Tag haben oder der
Start-Tag mu� mit />
enden. Zum Beispiel
<br/>
oder <hr></hr>
. Siehe
HTML Kompatibilit�tsrichtlinien f�r
Informationen �ber M�glichkeiten Abw�rtskompatibilit�t zu HTML 4
Benutzeragenten sicherzustellen.
RICHTIG: abgeschlossene leere Elemente
<br/><hr/>
FALSCH: nicht-abgeschlossene leere Elemente
<br><hr>
In Attributwerten werden Benutzeragenten f�hrende und abschlie�ende Leerr�ume von Attributwerten entfernen und aus Folgen aus einer oder mehrerer Leerraum-Zeichen (inklusive Zeilenumbr�chen) ein einzelnes Zwischenwort-Leerzeichen (ein ASCII Leerzeichen f�r westliche Skripte) machen. Siehe Abschnitt 3.3.3 von [XML].
In XHTML sind die Script- und Style-Elemente als Elemente mit
#PCDATA
Inhalt deklariert. Folglich werden
<
und &
als Anfang von Markup
behandelt und Entities wie <
und
&
vom XML Prozessor als Entity-Referenzen f�r
<
respektive &
erkannt. Man kann die
Expansion dieser Entities vermeiden, indem man den Inhalt des Script-
oder Style-Elementes in einen als CDATA
markierten
Abschnitt verpackt.
<script> <![CDATA[ ... ungesch�tzter (unescaped) Scriptinhalt ... ]]> </script>
CDATA
Abschnitte werden vom XML Prozessor erkannt und
erscheinen als Knoten im Dokumentobjektmodell, vgl.
Abschnitt 1.3 der DOM Level 1 Empfehlung [DOM].
Eine Alternative ist es, externe Skript- und Style-Dokumente zu verwenden.
SGML gibt dem Verfasser einer DTD die M�glichkeit bestimmte Elemente davon auszuschlie�en, in einem Element enthalten zu sein. Solche Verbote (Ausschl�sse genannt) sind in XML nicht m�glich.
Zum Beispiel verbietet die HTML 4 Strict DTD die
Verschachtelung eines 'a
' Elementes in einem anderen
'a
' Element jeder Nachkommenstiefe. Es ist nicht m�glich
solche Verbote in XML auszusprechen. Obwohl diese Verbote nicht in der
DTD definiert werden k�nnen, sollten bestimmte Elemente nicht
verschachtelt sein. Eine Zusammenfassung solcher Elemente und der
Elemente, die in ihnen nicht verschachtelt sein sollten, findet sich im
normativen Anhang B.
HTML 4 definiert das name
Attribut f�r die
Elemente a
, applet
, form
,
frame
, iframe
, img
und
map
. HTML 4 f�hrte auch das id
Attribut
ein. Beide Attribute wurden entworfen, um als Fragmentbezeichner
benutzt zu werden.
In XML sind Fragmentbezeichner vom Typ ID
und es kann
nur ein einzelnes Attribut des Typs ID
pro Element geben.
Deshalb wird das id
Attribut in XHTML 1.0 als vom Typ
ID
definiert. Um zu gew�hrleisten, da� XHTML 1.0 Dokumente
wohlstrukturierte XML Dokumente sind, M�SSEN XHTML 1.0 Dokumente das
id
Attribut verwenden, wenn sie Fragmentsbezeichner
definieren, auch f�r Elemente die historischer Weise auch ein
name
Attribut gehabt haben. Vgl. die HTML Kompatibilit�tsrichtlinien f�r
Informationen um sicherzustellen, da� solche Anker abw�rtskompatibel
sind, wenn XHTML Dokumente als Medientyp text/html
geliefert werden.
Beachte das in XHTML 1.0 das name
Attribut dieser
Elemente formal mi�billigt (deprecated) wurde und in anschlie�enden
Versionen aus XHTML entfernt werden wird.
Obwohl es kein Erfordernis f�r XHTML 1.0 Dokumente gibt, kompatibel mit vorhandenen Benutzeragenten zu sein, ist es in Praxis leicht, dies zu erreichen. Richtlinien f�r das Erstellen kompatibler Dokumente k�nnen in Anhang C gefunden werden.
Zum Zeitpunkt der Ver�ffentlichung dieser Empfehlung mu� die allgemein empfohlene MIME Kennzeichnung f�r XML basierte Anwendungen erst noch beschlossen werden.
Jedoch d�rfen XHTML Dokumente, die den Richtlinien aus Anhang C, "HTML Kompatibilit�tsrichtlinien", folgen mit dem Internet Medientyp "text/html" gekennzeichnet werden, da sie zu den meisten HTML Browsern kompatibel sind. Dieses Dokument macht keine Empfehlung �ber MIME Kennzeichnung von anderen XHTML Dokumenten.
XHTML 1.0 liefert die Basis f�r eine Familie von Dokumenttypen die XHTML erweitern und unterteilen werden, um eine gro�e Breite neuer Ger�te und Anwendungen zu unterst�tzen, indem Module definiert werden und einen Mechanismus um diese Module zu kombinieren zu spezifizieren.
Sowie sich die Verwendung von XHTML von den traditionellen Desktop-Benutzeragenten zu anderen Plattformen verlagert, ist es klar, da� nicht alle der XHTML Elemente auf allen Plattformen ben�tigt werden. Zum Beispiel ein Handheld-Ger�t oder ein Mobiltelefon kann nur eine Untermenge der XHTML Elemente unterst�tzen.
Der Proze� der Modularisierung spaltet XHTML in eine Serie kleinerer Elements�tze auf. Diese Elemente k�nnen dann wieder kombiniert werden, um den Bedarf verschiedener Interessensgruppen zu decken.
Diese Module werden in einem sp�teren W3C Dokument definiert.
Die Modularisierung bringt mehrere Vorteile mit sich:
Es liefert einen formellen Mechanismus f�r die Unterteilung von XHTML.
Es liefert einen formellen Mechanismus f�r das Erweitern von XHTML.
Es vereinfacht die Transformation zwischen Dokumenttypen.
Es f�rdert die Wiederverwendung von Modulen in neuen Dokumenttypen.
Ein Dokumentprofil spezifiziert Syntax und Semantik eines Dokumentsatzes. Konformit�t zu einem Dokumentprofil liefert eine Basis f�r Interoperabilit�tsgarantien. Das Dokumentprofil spezifiziert die notwendigen F�higkeiten Dokumente dieses Typs zu verarbeiten, z.B. welche Bildformate benutzt werden k�nnen, Ebenen des Scriptings, Stylesheet-Unterst�tzung und so weiter.
F�r Produktdesigner erlaubt dies, verschiedenen Gruppen ihr eigenes Standardprofil zu definieren.
F�r Autoren wird dies der Notwendigkeit vorbeugen, mehrere verschiedene Versionen von Dokumenten f�r verschiedene Clients zu schreiben.
F�r bestimmte Gruppen wie Chemiker, �rzte oder Mathematiker erlaubt dies, ein spezielles Profil zu erstellen, mit Hilfe von Standard HTML Elementen zuz�glich einer Gruppe auf die Bed�rfnisse der Spezialisten abgestimmter Elemente.
Dieser Anhang ist normativ.
Diese DTDs und Entit�tss�tze formen einen normativen Teil dieser Spezifikation. Der vollst�ndige Satz der DTD Dateien zusammen mit einer XML Deklaration und dem SGML Open Catalog ist in der zip Datei f�r diese Spezifikation enthalten.
Diese DTDs entsprechen in etwa den HTML 4 DTDs. Es ist wahrscheinlich, da�, wenn die DTDs modularisiert werden, eine Methode zur DTD Konstruktion verwandt wird, die eher HTML 4 entspricht.
Die XHTML Entity S�tze sind dieselben wie f�r HTML 4, wurden
aber ver�ndert um g�ltige XML 1.0 Entity Deklarationen zu sein.
Beachte, da� das Entity f�r das Euro W�hrungssymbol
(€
oder €
oder
€
) als Teil der Sonderzeichen definiert
wird.
Dieser Anhang ist normativ.
Die folgenden Elemente haben Beschr�nkungen, welche Elemente sie enthalten k�nnen (vgl. Abschnitt 4.9). Dieses Verbot gilt f�r alle Tiefen der Verschachtelung, d.h. es enth�lt alle Nachkommenelemente.
a
a
Elemente enthalten.pre
img
, object
, big
,
small
, sub
oder sup
Elemente
nicht enthalten.button
input
, select
,
textarea
, label
, button
,
form
, fieldset
, iframe
oder
isindex
Elemente nicht enthalten.label
label
Elemente enthalten.form
form
Elemente enthalten.Dieser Anhang ist nicht normativ.
Dieser Anhang fa�t Entwurfsrichtlinien f�r Autoren zusammen, die m�chten, da� ihre XHTML Dokumente von vorhandenen HTML Benutzeragenten wiedergegeben werden.
Beachte, da� Verarbeitungsanweisungen von einigen Benutzeragenten wiedergegeben werden. Beachte jedoch auch, da�, wenn die XML Deklaration nicht in ein Dokument einbezogen wird, das Dokument nur die Standard-Zeichenkodierung UTF-8 oder UTF-16 verwenden kann.
F�ge ein Leerzeichen vor dem abschliessenden /
und
>
leerer Elemente ein, z.B.
<br />
, <hr />
und
<img src="karen.jpg" alt="Karen" />
.
Ebenfalls, benutze die minimierten Tag-Syntax f�r leere Elemente, z.B.
<br />
da die von XML erlaubte alternative
Syntax <br></br>
zu unsicheren Ergebnissen in
vielen vorhandenen Benutzeragenten f�hrt.
Ist ein Exemplar eines Elementes gegeben, dessen Inhaltsmodell nicht
EMPTY (zum Beispiel ein leerer Titel oder Absatz) ist, verwende die
reduzierte Form nicht (z.B. verwende
<p> </p>
und nicht
<p />
).
Benutze externe Stylesheets, wenn Dein Stylesheet <
oder &
oder ]]>
oder --
benutzt. Benutze externe Scripts, wenn dein Script <
oder &
oder ]]>
oder --
benutzt. Beachte, da� XML Parser stillschweigend den Inhalt von
Kommentaren entfernen d�rfen. Deshalb ist zu erwarten, da� die
historische Praxis, Scripts und Stylesheets innerhalb von Kommentaren
zu "verstecken", um die Dokumente abw�rtskompatibel zu machen, nicht
wie erwartet in XML-basierenden Implementationen funktioniert.
Vermeide Zeilenumbr�che und mehrfache Leerr�ume in Attributwerten. Diese werden von Benutzeragenten uneinheitlich behandelt.
F�ge nicht mehr als ein isindex Element in den Dokumentkopf ein. Das
isindex
Element wird zugunsten des input
Elementes nicht mehr verwendet.
lang
und xml:lang
AttributeBenutze sowohl das lang
als auch das
xml:lang
Attribut zum Festlegen der Sprache eines
Elementes. Der Wert des xml:lang
Attributes besitzt
Vorrang.
In XML beziehen sich URIs [RFC2396], die mit einem Fragmentbezeichner in
der Form "#foo"
enden, nicht auf Elemente mit dem Attribut
name="foo"
, sondern beziehen sich auf Elemente mit einem
Attribut, das als Typ ID
definiert wurde, z.B. das
id
Attribut in HTML 4. Viele vorhandene
Benutzeragenten unterst�tzen die Benutzung von Attributen des Typs
ID
auf diese Weise nicht, daher darf f�r diese beiden
Attribute identische Werte angegeben werden um einen gr��tm�glichen
Grad an Kompatibilit�t zu gew�hrleisten (z.B. <a id="foo"
name="foo">...</a>
).
Da der Satz g�ltiger Werte f�r Attribute des Typs ID
viel kleiner ist, als f�r die des Typs CDATA
, wurde der
Typ des name
Attributes zu NMTOKEN
ge�ndert.
Dieses Attribut ist so eingeschr�nkt, da� es nur die gleichen Werte wie
der Typ ID
oder wie die Name
Produktion in
XML 1.0 Abschnitt 2.5, Produktion 5. Leider kann diese Vorgabe nicht in
den XHTML 1.0 DTDs ausgedr�ckt werden. Wegen dieser �nderung mu� Sorge
getragen werden, wenn vorhandene HTML Dokumente konvertiert werden. Die
Werte diese Attribute m�ssen innerhalb des Dokumentes eindeutig und
g�ltig sein und jede Referenz zu diesen Fragmentbezeichnern (sowohl
interne wie externe) mu� aktualisiert werden, sollte sich der Wert
w�hrend der Konvertierung ge�ndert haben.
Schlie�lich beachte, da� XHTML 1.0 das name
Attribut
der a
, applet
, form
,
frame
, iframe
, img
und
map
Elemente mi�billigt (deprecated) hat und es aus XHTML in anschlie�enden
Versionen entfernt wird.
Um eine Zeichenkodierung im Dokument anzugeben, benutze sowohl die
Kodierungsattribut-Spezifikation der XML Deklaration (z.B.
<?xml version="1.0" encoding="EUC-JP"?>
) als auch
eine meta http-equiv Angabe (z.B. <meta
http-equiv="Content-Type" content='text/html;
charset="EUC-JP"' />
). Der Wert des encoding Attributes
der XML Verarbeitungsanweisung besitzt Vorrang.
Einige HTML Benutzeragenten sind au�erstande, boolesche Attribute zu
interpretieren, wenn diese in ihrer vollen (nicht-minimierten) Form
erscheinen, wie von XML 1.0 gefordert. Beachte, da� dieses Problem
keine Benutzeragenten betrifft, die HTML 4 befolgen. Die folgenden
Attribute sind betroffen: compact
, nowrap
,
ismap
, declare
, noshade
,
checked
, disabled
, readonly
,
multiple
, selected
, noresize
,
defer
.
Die Document Object Model Level 1 Empfehlung [DOM] definiert Dokumentobjektmodell-Schnittstellen f�r XML und HTML 4. Das HTML 4 Dokumentobjektmodell legt fest, da� HTML Element- und Attributnamen in Gro�schreibung zur�ckgeliefert werden. Das XML Dokumentobjektmodell legt fest, da� Element- und Attributnamen in der Schreibweise zur�ckgeliefert werden, in der sie angegeben werden. In XHTML 1.0 sind Element- und Attributnamen in Kleinschreibung festgelegt. Dieser offensichtliche Unterschied kann auf zwei Weisen angesprochen werden:
text/html
angeboten werden, �ber das DOM zugreifen k�nnen das HTML DOM
benutzen und sich darauf verlassen, da� Element- und Attributnamen in
Gro�schreibung von diesen Schnittstellen zur�ckgeliefert werden.text/xml
oder application/xml
angeboten
werden, zugreifen, k�nnen auch das XML DOM benutzen. Elemente und
Attribute werden in Kleinschreibung zur�ckgeliefert. Auch k�nnen einige
XHTML Elemente nicht in der Objektbaumstruktur erscheinen, weil sie im
Inhaltsmodell optional sind (z.B. das tbody
Element
innerhalb von table
). Dies passiert, weil in HTML 4
einige Elemente minimiert werden k�nnen, so da� ihre Start- und
End-Tags beide ausgelassen werden k�nnen (ein SGML Merkmal). Dies ist
nicht m�glich in XML. Anstatt von Dokumentautoren zu verlangen,
unwesentliche Elemente einzuf�gen, hat XHTML diese Elemente optional
gemacht. Anwendungen m�ssen sich dementsprechend anpassen.Wenn ein Attributwert ein Et-Zeichen enth�lt, mu� es als
Entity-Referenz (z.B. "&
") ausgedr�ckt werden. Als
Beispiel, wenn ein href Attribut eines a Elementes auf ein CGI Script
verweist, da� Parameter annimmt, mu� es als
http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
ausgedr�ckt werden statt als
http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
.
Die Cascading Style Sheets Level 2 Empfehlung [CSS2] definiert Stileigenschaften welche auf den Parse-Baum von HTML oder XML Dokumenten angewandt werden. Unterschiede im Parsing werden unterschiedliche visuelle oder akustische Ergebnisse erzeugen, abh�ngig von den benutzten Selektoren. Die folgenden Hinweise werden diesen Effekt f�r Dokumente die ohne Ver�nderung als beide Medientypen angeboten werden verringern:
Dieser Anhang ist nicht normativ.
Diese Spezifikation wurde mit der Beteiligung der Mitglieder der W3C HTML Arbeitsgruppe geschrieben:
Dieser Anhang ist nicht normativ.