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 Verbesserungsvorschlge zu dieser bersetzung an den bersetzer oder die Mailingliste [email protected] (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 geschtzt, Copyright 1999 - 2000 W3C (MIT, INRIA, Keio), All Rights Reserved. Die Rechte an der bersetzung liegen beim bersetzer, Copyright 2000 Bjrn Hhrmann.
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 fr HTML 4 definiert. Diese Semantik schafft die Grundlage fr die zuknftige Erweiterbarkeit von XHTML. Kompatibilitt mit vorhandenen HTML Benutzeragenten ist mglich, indem ein kleiner Satz Richtlinien befolgt wird.
Dieser Abschnitt beschreibt den Status dieses Dokumentes zum Zeitpunkt seiner Verffentlichung. Es kann sein, da andere Dokumente dieses Dokument ablsen. Der letzte Status dieser Dokumentserie wird beim W3C verwaltet.
Dieses Dokument ist von Mitgliedern des W3C und anderen interessierten Parteien geprft und vom Direktor als W3C Empfehlung untersttzt worden. Es ist ein stabiles Dokument und kann als Referenzmaterial verwendet oder als normative Referenz von einem anderen Dokument angefhrt werden. Die Aufgabe des W3Cs bei der Erstellung der Empfehlung ist es, Aufmerksamkeit auf diese Spezifikation zu lenken und ihre weite Verbreitung zu frdern. Dies verbessert die Funktionalitt und die Interoperabilitt des Webs.
Dieses Dokument wurde als Teil der W3C HTML Aktivitt erstellt. Die Ziele der HTML Arbeitsgruppe (nur fr Mitglieder) werden in der Charta der HTML Arbeitsgruppe (nur fr 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 [email protected] (Archiv) statt.
Bitte melde Fehler in diesem Dokument bei [email protected].
Die Liste bekannter Fehler in dieser Spezifikation ist unter http://www.w3.org/2000/01/REC-xhtml1-20000126-errata erhltlich.
XHTML ist eine Familie bestehender und zuknftiger 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 Zuknftige 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 fr 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 nchste Schritt in der Weiterentwicklung des Internets. Indem Inhaltsentwickler heute auf XHTML umsteigen, knnen sie in die XML-Welt mit allen dazugehrigen Vorteilen einsteigen, whrend sie sich auf die Abwrts- wie auch die zuknftige Kompatibilitt ihrer Inhalte verlassen knnen.
HTML 4 [HTML] ist eine SGML (Standard Generalized Markup Language) Anwendung entsprechend dem Internationalen Standard ISO 8879 und wird allgemein als die Standard-Verffentlichungssprache des World Wide Web angesehen.
SGML ist eine Sprache zur Beschreibung von Markup Sprachen, insbesondere solcher, die im elektronischen Dokumentaustausch, Dokumentmanagement und der Dokumentverffentlichung benutzt werden. HTML ist ein Beispiel fr eine in SGML definierte Sprache.
SGML gibt es seit Mitte der 80er Jahre und ist ziemlich stabil geblieben. Ein groer Teil dieser Stabilitt kommt von der Tatsache, da die Sprache sowohl merkmalsreich wie auch flexibel ist. Jedoch hat diese Flexibilitt auch einen Preis. Dieser Preis ist ein Ma an Komplexitt, die ihre Annahme in einer Vielzahl von Umgebungen gehemmt hat, einschlielich des World Wide Web.
HTML, wie ursprnglich erdacht, sollte eine Sprache fr den Austausch wissenschaftlicher und anderer technischer Dokumente sein, die sich auch fr den Gebrauch durch Nichtdokumentspezialisten eignet. HTML nahm sich dem Problem der Komplexitt von SGML an, indem sie einen kleinen Satz struktureller und semantischer Tags festlegt, geeignet um relativ einfache Dokumente zu erstellen. Zustzlich zum Vereinfachen der Dokumentstruktur fgte HTML Untersttzung fr Hypertext hinzu. Multimediafhigkeiten wurden spter hinzugefgt.
In einem bemerkenswert kurzen Zeitraum wurde HTML sehr populr und wuchs schnell ber ihre ursprngliche Bestimmung hinaus. Seit der Einfhrung von HTML hat es einen schnellen Prozess, neue Elemente zum Gebrauch innerhalb von HTML (als Norm) und zur Anpassung von HTML an vertikale, uerst spezialisierte Mrkte zu erfinden, gegeben. Diese Unmenge neuer Elemente hat zu Kompatibilittsproblemen fr Dokumente zwischen verschiedenen Plattformen gefhrt.
Da sich die Heterogenitt 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 eingeschrnkt ist.
XML™ ist die Abkrzung fr Extensible Markup Language und ein Akronym fr Extensible Markup Language [XML].
XML wurde als ein Mittel erdacht, die Strke und Flexibilitt von SGML ohne ihre Komplexitt zu erhalten.
Whrend XML diese ntzlichen 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 fr streng konforme XHTML Dokumente, welche auf Tags und Attribute des XHTML Namensraum beschrnkt sind. Siehe Abschnitt 3.1.2 fr Informationen ber die Verwendung von XHTML mit anderen Namensrumen, zum Beispiel um in RDF ausgedrckte Metadaten in XHTML Dokumente einzubinden.
Ein streng konformes XHTML Dokument ist ein Dokument, das nur die in dieser Spezifikation beschriebenen Fhigkeiten 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 fr 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 gendert 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 fr 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 standardmigen UTF-8 oder UTF-16 ist.
Der XHTML Namensraum darf zusammen mit anderen XML Namensrumen benutzt werden wie durch [XMLNAMES] definiert, obwohl solche Dokumente keine streng konformen Dokumente wie oben definiert sind. Zuknftige Arbeit des W3C wird Mglichkeiten ansprechen, um Konformitt fr Dokumente zu spezifizieren, die mehrere Namensrume 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 Namensrume 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 zustzlich die folgenden Zeichen als Leerraum behandeln:
In Elementen, wo das 'xml:space' Attribut auf 'preserve' gesetzt ist, mu der Benutzeragent alle Leerrume erhalten (mit Ausnahme von fhrenden und abschlieenden Leerrumen die entfernt werden sollten). Ansonsten werden Leerrume entsprechend den folgenden Regeln behandelt:
Leerrume in Attributwerten werden entsprechend [XML] verarbeitet.
Aufgrund der Tatsache, da XHTML eine XML Anwendung ist, mssen bestimmte Praktiken, die im SGML basierendem HTML 4 [HTML] zulssig waren, gendert werden.
Wohlgeformtheit ist ein neues Konzept, das durch [XML] eingefhrt wurde. Im wesentlichen bedeutet dies, da alle Elemente entweder abschlieende Tags haben mssen, oder in einer speziellen Form geschrieben werden mssen (wie unten beschrieben) und da alle Elemente korrekt verschachtelt werden mssen.
Obwohl es in SGML illegal ist, zu berlappen, wurde es hufig 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 mssen Kleinschreibung fr 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 Schlieung impliziert. Diese Auslassung ist nicht erlaubt im XML basierendem XHTML. Alle Elemente auer denen, die in der DTD als EMPTY deklariert wurden, mssen 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 mssen in Anfhrungszeichen eingeschlossen werden, sogar jene, die scheinbar numerisch sind.
RICHTIG: In Anfhrungszeichen gesetzte Attributwerte
<table rows="3">
FALSCH: nicht in Anfhrungszeichen gesetzte Attributwerte
<table rows=3>
XML untersttzt Attributminimierung nicht. Attribut-Wert Paare mssen ganz ausgeschrieben werden. Attributnamen wie compact und checked knnen nicht in Elementen auftauchen, ohne da ihr Wert angegeben wird.
RICHTIG: nicht-minimierte Attribute
<dl compact="compact">
FALSCH: minimierte Attribute
<dl compact>
Leere Elemente mssen entweder einen End-Tag haben oder der Start-Tag mu mit /> enden. Zum Beispiel <br/> oder <hr></hr>. Siehe HTML Kompatibilittsrichtlinien fr Informationen ber Mglichkeiten Abwrtskompatibilitt zu HTML 4 Benutzeragenten sicherzustellen.
RICHTIG: abgeschlossene leere Elemente
<br/><hr/>
FALSCH: nicht-abgeschlossene leere Elemente
<br><hr>
In Attributwerten werden Benutzeragenten fhrende und abschlieende Leerrume von Attributwerten entfernen und aus Folgen aus einer oder mehrerer Leerraum-Zeichen (inklusive Zeilenumbrchen) ein einzelnes Zwischenwort-Leerzeichen (ein ASCII Leerzeichen fr 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 fr < 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[ ... ungeschtzter (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 Mglichkeit bestimmte Elemente davon auszuschlieen, in einem Element enthalten zu sein. Solche Verbote (Ausschlsse genannt) sind in XML nicht mglich.
Zum Beispiel verbietet die HTML 4 Strict DTD die Verschachtelung eines 'a' Elementes in einem anderen 'a' Element jeder Nachkommenstiefe. Es ist nicht mglich solche Verbote in XML auszusprechen. Obwohl diese Verbote nicht in der DTD definiert werden knnen, 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 fr die Elemente a, applet, form, frame, iframe, img und map. HTML 4 fhrte 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 gewhrleisten, da XHTML 1.0 Dokumente wohlstrukturierte XML Dokumente sind, MSSEN XHTML 1.0 Dokumente das id Attribut verwenden, wenn sie Fragmentsbezeichner definieren, auch fr Elemente die historischer Weise auch ein name Attribut gehabt haben. Vgl. die HTML Kompatibilittsrichtlinien fr Informationen um sicherzustellen, da solche Anker abwrtskompatibel sind, wenn XHTML Dokumente als Medientyp text/html geliefert werden.
Beachte das in XHTML 1.0 das name Attribut dieser Elemente formal mibilligt (deprecated) wurde und in anschlieenden Versionen aus XHTML entfernt werden wird.
Obwohl es kein Erfordernis fr XHTML 1.0 Dokumente gibt, kompatibel mit vorhandenen Benutzeragenten zu sein, ist es in Praxis leicht, dies zu erreichen. Richtlinien fr das Erstellen kompatibler Dokumente knnen in Anhang C gefunden werden.
Zum Zeitpunkt der Verffentlichung dieser Empfehlung mu die allgemein empfohlene MIME Kennzeichnung fr XML basierte Anwendungen erst noch beschlossen werden.
Jedoch drfen XHTML Dokumente, die den Richtlinien aus Anhang C, "HTML Kompatibilittsrichtlinien", 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 fr eine Familie von Dokumenttypen die XHTML erweitern und unterteilen werden, um eine groe Breite neuer Gerte und Anwendungen zu untersttzen, 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 bentigt werden. Zum Beispiel ein Handheld-Gert oder ein Mobiltelefon kann nur eine Untermenge der XHTML Elemente untersttzen.
Der Proze der Modularisierung spaltet XHTML in eine Serie kleinerer Elementstze auf. Diese Elemente knnen dann wieder kombiniert werden, um den Bedarf verschiedener Interessensgruppen zu decken.
Diese Module werden in einem spteren W3C Dokument definiert.
Die Modularisierung bringt mehrere Vorteile mit sich:
Es liefert einen formellen Mechanismus fr die Unterteilung von XHTML.
Es liefert einen formellen Mechanismus fr das Erweitern von XHTML.
Es vereinfacht die Transformation zwischen Dokumenttypen.
Es frdert die Wiederverwendung von Modulen in neuen Dokumenttypen.
Ein Dokumentprofil spezifiziert Syntax und Semantik eines Dokumentsatzes. Konformitt zu einem Dokumentprofil liefert eine Basis fr Interoperabilittsgarantien. Das Dokumentprofil spezifiziert die notwendigen Fhigkeiten Dokumente dieses Typs zu verarbeiten, z.B. welche Bildformate benutzt werden knnen, Ebenen des Scriptings, Stylesheet-Untersttzung und so weiter.
Fr Produktdesigner erlaubt dies, verschiedenen Gruppen ihr eigenes Standardprofil zu definieren.
Fr Autoren wird dies der Notwendigkeit vorbeugen, mehrere verschiedene Versionen von Dokumenten fr verschiedene Clients zu schreiben.
Fr bestimmte Gruppen wie Chemiker, rzte oder Mathematiker erlaubt dies, ein spezielles Profil zu erstellen, mit Hilfe von Standard HTML Elementen zuzglich einer Gruppe auf die Bedrfnisse der Spezialisten abgestimmter Elemente.
Dieser Anhang ist normativ.
Diese DTDs und Entittsstze formen einen normativen Teil dieser Spezifikation. Der vollstndige Satz der DTD Dateien zusammen mit einer XML Deklaration und dem SGML Open Catalog ist in der zip Datei fr 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 Stze sind dieselben wie fr HTML 4, wurden aber verndert um gltige XML 1.0 Entity Deklarationen zu sein. Beachte, da das Entity fr das Euro Whrungssymbol (€ oder € oder €) als Teil der Sonderzeichen definiert wird.
Dieser Anhang ist normativ.
Die folgenden Elemente haben Beschrnkungen, welche Elemente sie enthalten knnen (vgl. Abschnitt 4.9). Dieses Verbot gilt fr alle Tiefen der Verschachtelung, d.h. es enthlt alle Nachkommenelemente.
aa Elemente enthalten.preimg, object, big, small, sub oder sup Elemente nicht enthalten.buttoninput, select, textarea, label, button, form, fieldset, iframe oder isindex Elemente nicht enthalten.labellabel Elemente enthalten.formform Elemente enthalten.Dieser Anhang ist nicht normativ.
Dieser Anhang fat Entwurfsrichtlinien fr Autoren zusammen, die mchten, 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.
Fge 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 fr leere Elemente, z.B. <br /> da die von XML erlaubte alternative Syntax <br></br> zu unsicheren Ergebnissen in vielen vorhandenen Benutzeragenten fhrt.
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 drfen. Deshalb ist zu erwarten, da die historische Praxis, Scripts und Stylesheets innerhalb von Kommentaren zu "verstecken", um die Dokumente abwrtskompatibel zu machen, nicht wie erwartet in XML-basierenden Implementationen funktioniert.
Vermeide Zeilenumbrche und mehrfache Leerrume in Attributwerten. Diese werden von Benutzeragenten uneinheitlich behandelt.
Fge 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 untersttzen die Benutzung von Attributen des Typs ID auf diese Weise nicht, daher darf fr diese beiden Attribute identische Werte angegeben werden um einen grtmglichen Grad an Kompatibilitt zu gewhrleisten (z.B. <a id="foo" name="foo">...</a>).
Da der Satz gltiger Werte fr Attribute des Typs ID viel kleiner ist, als fr die des Typs CDATA, wurde der Typ des name Attributes zu NMTOKEN gendert. Dieses Attribut ist so eingeschrnkt, 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 ausgedrckt werden. Wegen dieser nderung mu Sorge getragen werden, wenn vorhandene HTML Dokumente konvertiert werden. Die Werte diese Attribute mssen innerhalb des Dokumentes eindeutig und gltig sein und jede Referenz zu diesen Fragmentbezeichnern (sowohl interne wie externe) mu aktualisiert werden, sollte sich der Wert whrend der Konvertierung gendert haben.
Schlielich beachte, da XHTML 1.0 das name Attribut der a, applet, form, frame, iframe, img und map Elemente mibilligt (deprecated) hat und es aus XHTML in anschlieenden 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 auerstande, 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 fr XML und HTML 4. Das HTML 4 Dokumentobjektmodell legt fest, da HTML Element- und Attributnamen in Groschreibung zurckgeliefert werden. Das XML Dokumentobjektmodell legt fest, da Element- und Attributnamen in der Schreibweise zurckgeliefert 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 knnen das HTML DOM benutzen und sich darauf verlassen, da Element- und Attributnamen in Groschreibung von diesen Schnittstellen zurckgeliefert werden.text/xml oder application/xml angeboten werden, zugreifen, knnen auch das XML DOM benutzen. Elemente und Attribute werden in Kleinschreibung zurckgeliefert. Auch knnen 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 knnen, so da ihre Start- und End-Tags beide ausgelassen werden knnen (ein SGML Merkmal). Dies ist nicht mglich in XML. Anstatt von Dokumentautoren zu verlangen, unwesentliche Elemente einzufgen, hat XHTML diese Elemente optional gemacht. Anwendungen mssen sich dementsprechend anpassen.Wenn ein Attributwert ein Et-Zeichen enthlt, mu es als Entity-Referenz (z.B. "&") ausgedrckt 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 ausgedrckt 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, abhngig von den benutzten Selektoren. Die folgenden Hinweise werden diesen Effekt fr Dokumente die ohne Vernderung 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.