XHTML 1.0: Die Extensible HyperText Markup Language

Deutsche �bersetzung

Diese Version:
http://www.websitedev.de/xhtml/xhtml1/20000126/
Neuste Version:
http://www.websitedev.de/xhtml/xhtml1/
Vorherige Version:
keine
�bersetzer:
Bj�rn H�hrmann <bjoern@hoehrmann.de>

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.


W3C

XHTML 1.0: Die Extensible HyperText Markup Language

Eine Reformulierung von HTML 4 in XML 1.0

W3C Empfehlung 26. Januar 2000

Diese Version:
http://www.w3.org/TR/2000/REC-xhtml1-20000126
(Postscript version, PDF Version, ZIP Archiv, or Gzip'd TAR Archiv)
Neuste Version:
http://www.w3.org/TR/xhtml1
Vorherige Version:
http://www.w3.org/TR/1999/PR-xhtml1-19991210
Autoren:
Siehe Danksagungen.

Zusammenfassung

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.

Status dieses Dokumentes

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.

Inhalt

1. Was ist XHTML?

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.

1.1 Was ist HTML 4?

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.

1.2 Was ist XML?

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.

1.3 Warum ist XHTML notwendig?

Die Vorteile, auf XHTML 1.0 umzustellen, werden oben beschrieben. Einige der Vorteile, in XHTML im allgemeinen umzustellen, sind:

2. Definitionen

2.1 Terminologie

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]:

Implementierungsdefiniert (implementation-defined)
Ein Wert oder ein Verhalten sind implementierungsdefiniert, wenn es der Implementierung �berlassen wird, die entsprechenden Erfordernisse f�r richtige Dokumentkonstruktion zu definieren [und zu dokumentieren].
Darf (may)
In bezug auf Implementierungen soll das Wort "darf" als optionales Merkmal interpretiert werden, das nicht von dieser Spezifikation gefordert wird, aber angeboten werden kann. In bezug auf die Dokument-Konformit�t bedeutet das Wort "darf", da� das optionale Merkmal nicht verwendet werden darf. Der Begriff "optional" hat die gleiche Definition wie "darf".
Mu�/darf nicht (must)
In dieser Spezifikation soll das Wort "mu�" als verbindliches Erfordernis der Implementierung oder f�r streng konforme XHTML Dokumente interpretiert werden, abh�ngig vom jeweiligen Kontext. Der Begriff "soll" hat dieselbe Definition wie "mu�".
Reserviert (reserved)
Ein Wert oder ein Verhalten ist unspezifiziert, aber es darf nicht in konformen Dokumenten benutzt, oder von konformen Benutzeragenten unterst�tzt werden.
Sollte (should)
In bezug auf Implementierungen soll das Wort "sollte" als eine Implementierungsempfehlung interpretiert werden, nicht aber als eine Bedingung. In bezug auf Dokumente soll das Wort "sollte" als empfohlene Programmierungspraxis f�r Dokumente und als Bedingung f�r streng konforme XHTML Dokumente interpretiert werden.
Unterst�tzt (supported)
Bestimmte F�higkeiten in dieser Spezifikation sind optional. Wenn eine F�higkeit unterst�tzt wird, verh�lt sie sich, wie von dieser Spezifikation angegeben.
Unspezifiziert (unspecified)
Wenn ein Wert oder ein Verhalten unspezifiziert ist, definiert die Spezifikation keine �bertragbarkeitserfordernisse f�r eine F�higkeit in einer Implementierung, auch wenn sie mit einem Dokument konfrontiert wird, das die F�higkeit benutzt. Ein Dokument das ein bestimmtes Verhalten erfordert, anstatt jedes Verhalten zu tolerieren wenn diese F�higkeit benutzt wird, ist kein streng konformes XHTML Dokument.

2.2 Allgemeine Begriffe

Attribut (attribute)
Ein Attribut ist ein Parameter f�r ein in der DTD deklariertes Element. Der Typ und Wertbereich eines Attributes, einschlie�lich eines m�glichen Standardwertes, werden in der DTD definiert.
DTD
Eine DTD, oder Dokumenttyp-Definition, ist eine Sammlung von XML Deklarationen, welche, als Gesamtheit, die g�ltige Struktur, Elemente und Attribute definieren, die f�r den Gebrauch in einem Dokument zur Verf�gung stehen, die der DTD entsprechen.
Dokument (document)
Ein Dokument ist ein Strom aus Daten, der, nachdem er mit allen anderen Datenstr�men auf die er verweist kombiniert wurde, so strukturiert ist, da� er Informationen in Elementen enth�lt, die so organisiert sind, wie es in der dazugeh�rigen DTD definiert wird. Siehe Dokument-Konformit�t f�r weitere Informationen.
Element
Ein Element ist eine Dokumentstrukturierungseinheit, die in der DTD deklariert wird. Das Inhaltsmodell des Elementes ist in der DTD definiert, und zus�tzliche Semantik darf in der Kurzbeschreibung (prose description) des Elementes definiert werden.
F�higkeiten (facilities)
Die Funktionalit�t beinhaltet Elemente, Attribute und die zu diesen Elementen und Attributen geh�rige Semantik. Eine Implementierung, die diese Funktionalit�t unterst�tzt, soll die notwendigen F�higkeiten zur Verf�gung stellen.
Implementation (implementation)
Eine Implementation ist ein System, das eine Sammlung von F�higkeiten und Diensten anbietet, die diese Spezifikation unterst�tzen. Siehe Benutzeragenten-Konformit�t f�r weitere Informationen.
Syntaxanalyse (parsing)
Die Syntaxanalyse ist der Vorgang, bei dem ein Dokument gescannt wird und die in dem Dokument enthaltenen Information in den Kontext der Elemente, in denen die Information strukturiert ist, gefiltert wird.
Wiedergabe (rendering)
Die Wiedergabe ist der Vorgang, durch den die Information in einem Dokument pr�sentiert wird. Diese Pr�sentation wird in der Form gemacht, die f�r die Umgebung am besten geeignet ist (z.B. akustisch, visuell, im Druck).
Benutzeragent (user agent)
Ein Benutzeragent ist eine Implementation, die XHTML Dokumente empf�ngt und verarbeitet. Siehe Benutzeragenten-Konformit�t f�r weitere Informationen.
Validierung (Validation)
Die Validierung ist ein Prozess, durch den Dokumente gegen die dazugeh�rige DTD �berpr�ft werden, um zu gew�hrleisten, da� die Struktur, die Benutzung der Elemente und die Benutzung der Attribute mit den Definitionen in der DTD �bereinstimmt.
Wohlgeformt (well-formed)
Ein Dokument ist wohlgeformt, wenn es nach den in Abschnitt 2.1 der XML 1.0 Empfehlung [XML] Regeln strukturiert ist. Grunds�tzlich gibt diese Definition an, da� Elemente, abgegrenzt durch ihre Start- und End-Tags, richtig ineinander verschachtelt sind.

3. Normative Definition von XHTML 1.0

3.1 Dokument-Konformit�t

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.

3.1.1 Streng konforme Dokumente

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:

  1. Es mu� gegen eine der drei DTDs in Anhang A validieren.

  2. Das Wurzelelement des Dokumentes mu� <html> sein.

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

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

3.1.2 XHTML mit anderen Namensr�umen benutzen

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>

3.2 Benutzeragenten-Konformit�t

Ein konformer Benutzeragent mu� allen folgenden Kriterien entsprechen:

  1. Um mit der XML 1.0 Empfehlung vereinbar zu sein, mu� der Benutzeragent ein XHTML Dokument auf Wohlgeformtheit syntaktisch analysieren und beurteilen. Wenn der Benutzeragent behauptet, ein validierender Benutzeragent zu sein, mu� er auch Dokumente gegen ihre dazugeh�rigen DTDs validieren, entsprechend [XML].
  2. Wenn der Benutzeragent behauptet, die in dieser Spezifikation definierten, oder von dieser Spezifikation durch normative Verweise geforderten F�higkeiten zu unterst�tzen, mu� er das auf eine mit der Definition der F�higkeit vereinbarenden Weise tun.
  3. Wenn ein Benutzeragent ein XHTML als generisches XML Dokument verarbeitet, sollte er nur Attribute des Typs ID (z.B. das id Attribut der meisten XHTML Elemente) als Fragmentbezeichner akzeptieren.
  4. Wenn ein Benutzeragent auf ein Element st��t, das er nicht erkennt, mu� er den Inhalt des Elementes wiedergeben.
  5. Wenn ein Benutzeragent auf ein Attribut st��t, das er nicht erkennt, mu� er die ganze Attributspezifikation (d.h. das Attribut und seinen Wert) ignorieren.
  6. Wenn ein Benutzeragent auf einen Attributwert st��t, den er nicht erkennt, mu� er den Standardwert des Attributes verwenden.
  7. Wenn er auf eine Entity-Referenz st��t (au�er einer der vordefinierten Entities) f�r die der Benutzeragent keine Deklaration verarbeitet hat (was passieren kann, wenn sich die Deklaration in der externen Untermenge befindet, die der Benutzeragent nicht eingelesen hat), sollte die Entity-Referenz als die Zeichen wiedergegeben werden (beginnend mit dem et-Zeichen (&) und endend mit dem Semikolon), die die Entity-Referenz ausmachen.
  8. Wenn Inhalt wiedergegeben wird, sollten Benutzeragenten, die auf Zeichen oder Entity-Referenzen sto�en, die zwar erkannt werden aber nicht wiedergegeben werden k�nnen, das Dokument auf eine Weise darstellen, die es f�r den Benutzer offensichtlich macht, da� eine normale Wiedergabe nicht stattgefunden hat.
  9. Die folgenden Zeichen werden in [XML] als Leerraum-Zeichen definiert:

    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.

4. Unterschiede zu HTML 4

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.

4.1 Dokumente m�ssen wohlgeformt sein

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>

4.2 Element- und Attributnamen m�ssen klein geschrieben werden

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.

4.3 F�r nicht-leere Elemente sind End-Tags erforderlich

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.

4.4 Attributwerte m�ssen immer in Anf�hrungszeichen eingeschlossen werden

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>

4.5 Attributminimierung

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>

4.6 Leere Elemente

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>

4.7 Leerraum-Behandlung in Attributwerten

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

4.8 Script- und Style-Elemente

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 &lt; und &amp; 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.

4.9 SGML Ausschl�sse

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.

4.10 Die Elemente mit 'id' und 'name' Attributen

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.

5. Kompatibilit�tsangelegenheiten

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.

5.1 Internet Medientyp

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.

6. Zuk�nftige Entwicklungen

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.

6.1 HTML Modularisieren

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.

6.2 Untermengen und Erweiterbarkeit

Die Modularisierung bringt mehrere Vorteile mit sich:

6.3 Dokumentprofile

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.

Anhang A. DTDs

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.

A.1 Dokumenttyp-Definitionen

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.

A.2 Entity S�tze

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 (&euro; oder &#8364; oder &#x20AC;) als Teil der Sonderzeichen definiert wird.

Anhang B. Elementverbote

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
Kann keine anderen a Elemente enthalten.
pre
Kann die img, object, big, small, sub oder sup Elemente nicht enthalten.
button
Kann die input, select, textarea, label, button, form, fieldset, iframe oder isindex Elemente nicht enthalten.
label
Kann keine anderen label Elemente enthalten.
form
Kann keine anderen form Elemente enthalten.

Anhang C. HTML Kompatibilit�tsrichtlinien

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.

C.1 Verarbeitungsanweisungen

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.

C.2 Leere Elemente

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.

C.3 Element-Minimierung und Inhalt leerer Elemente

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

C.4 Eingebettete Stylesheets und Scripts

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.

C.5 Zeilenumbr�che in Attributwerten

Vermeide Zeilenumbr�che und mehrfache Leerr�ume in Attributwerten. Diese werden von Benutzeragenten uneinheitlich behandelt.

C.6 Isindex

F�ge nicht mehr als ein isindex Element in den Dokumentkopf ein. Das isindex Element wird zugunsten des input Elementes nicht mehr verwendet.

C.7 Die lang und xml:lang Attribute

Benutze sowohl das lang als auch das xml:lang Attribut zum Festlegen der Sprache eines Elementes. Der Wert des xml:lang Attributes besitzt Vorrang.

C.8 Fragmentbezeichner

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.

C.9 Zeichenkodierung

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.

C.10 Boolesche Attribute

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.

C.11 Das Dokumentobjektmodell und XHTML

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:

  1. Anwendungen, die auf XHTML Dokumente, die als Internet Medientyp 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.
  2. Anwendungen, die auf XHTML Dokumente, die als Internet Medientyp 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.

C.12 Et-Zeichen in Attributwerten verwenden

Wenn ein Attributwert ein Et-Zeichen enth�lt, mu� es als Entity-Referenz (z.B. "&amp;") 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&amp;name=user ausgedr�ckt werden statt als http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user.

C.13 Cascading Style Sheets (CSS) und XHTML

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:

  1. CSS Stylesheets f�r XHTML sollten kleingeschriebene Element- und Attributnamen verwenden.
  2. In Tabellen wird von dem Parser eines HTML Benutzeragenten nicht aber vom Parser eines XML Benutzeragenten das tbody Element automatisch gefolgert. Daher solltest Du immer explizit ein tbody Element hinzuf�gen, wenn darauf in einem CSS Selektor verwiesen wird.
  3. Innerhalb des XHTML Namensraumes wird es erwartet, da� Benutzeragenten das "ID" Attribut als Attribut von Typ ID anerkennen. Deshalb sollten Stylesheets in der Lage sein, den Kurzschrift "#" Selektor weiterhin zu benutzen, auch wenn der Benutzeragent die DTD nicht liest.
  4. Innerhalb des XHTML Namensraumes wird von Benutzeragenten erwartet, das "class" Attribut zu erkennen. Deshalb sollten Stylesheets in der Lage sein, weiterhin den Kurzschrift "." Selektor Syntax zu benutzen.
  5. CSS definiert unterschiedliche Konformit�tsregeln f�r HTML und XML Dokumente; beachte, da� die HTML Regeln f�r XHTML Dokumente gelten, die als HTML geliefert werden und die XML Regeln f�r XHTML Regeln gelten die als XML geliefert werden.

Anhang D. Danksagungen

Dieser Anhang ist nicht normativ.

Diese Spezifikation wurde mit der Beteiligung der Mitglieder der W3C HTML Arbeitsgruppe geschrieben:

Steven Pemberton, CWI (Vorsitzender der HTML Arbeitsgruppe)
Murray Altheim, Sun Microsystems
Daniel Austin, AskJeeves (CNET: The Computer Network im Juli 1999)
Frank Boumphrey, HTML Writers Guild
John Burger, Mitre
Andrew W. Donoho, IBM
Sam Dooley, IBM
Klaus Hofrichter, GMD
Philipp Hoschka, W3C
Masayasu Ishikawa, W3C
Warner ten Kate, Philips Electronics
Peter King, Phone.com
Paula Klante, JetForm
Shin'ichi Matsui, Panasonic (W3C besuchender Ingenieur im September 1999)
Shane McCarron, Applied Testing and Technology (The Open Group im August 1999)
Ann Navarro, HTML Writers Guild
Zach Nies, Quark
Dave Raggett, W3C/HP (W3C Leitung f�r HTML)
Patrick Schmitz, Microsoft
Sebastian Schnitzenbaumer, Stack Overflow
Peter Stark, Phone.com
Chris Wilson, Microsoft
Ted Wugofski, Gateway 2000
Dan Zigmond, WebTV Networks

Anhang E. Referenzen

Dieser Anhang ist nicht normativ.

[CSS2]
"Cascading Style Sheets, level 2 (CSS2) Specification", B. Bos, H. W. Lie, C. Lilley, I. Jacobs, 12. Mai 1998.
Neuste Version verf�gbar unter: http://www.w3.org/TR/REC-CSS2
[DOM]
"Document Object Model (DOM) Level 1 Specification", Lauren Wood et al., 1. Oktober 1998.
Neuste Version verf�gbar unter: http://www.w3.org/TR/REC-DOM-Level-1
[HTML]
"HTML 4.01 Specification", D. Raggett, A. Le Hors, I. Jacobs, 24. Dezember 1999.
Neuste Version verf�gbar unter: http://www.w3.org/TR/html401
[POSIX.1]
"ISO/IEC 9945-1:1990 Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language]", Institute of Electrical and Electronics Engineers, Inc, 1990.
[RFC2046]
"RFC2046: Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", N. Freed and N. Borenstein, November 1996.
Verf�gbar unter http://www.ietf.org/rfc/rfc2046.txt. Beachte das dieser RFC RFC1521, RFC1522 und RFC1590 veraltet.
[RFC2119]
"RFC2119: Key words for use in RFCs to Indicate Requirement Levels", S. Bradner, M�rz 1997.
Verf�gbar unter: http://www.ietf.org/rfc/rfc2119.txt
[RFC2376]
"RFC2376: XML Media Types", E. Whitehead, M. Murata, Juli 1998.
Verf�gbar unter: http://www.ietf.org/rfc/rfc2376.txt
[RFC2396]
"RFC2396: Uniform Resource Identifiers (URI): Generic Syntax", T. Berners-Lee, R. Fielding, L. Masinter, August 1998.
Dieses Dokument aktualisiert RFC1738 und RFC1808.
Verf�gbar unter: http://www.ietf.org/rfc/rfc2396.txt
[XML]
"Extensible Markup Language (XML) 1.0 Specification", T. Bray, J. Paoli, C. M. Sperberg-McQueen, 10. Februar 1998.
Neuste Version verf�gbar unter: http://www.w3.org/TR/REC-xml
[XMLNAMES]
"Namespaces in XML", T. Bray, D. Hollander, A. Layman, 14. Januar 1999.
XML Namensr�ume bieten eine einfache Methode Namen in XML Dokumenten zu qualifizieren indem man sie mit durch ein URI mit Namensr�umen verbindet.
Neuste Version verf�gbar unter: http://www.w3.org/TR/REC-xml-names

Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0