HTML-Tutorial von Teach-Soft, Ulrich Hirschmann: info@teach-soft.com

HTML - Tutorial
XHTML

 


 

XHTML? Wohlgeformtheit XHTML-Beispiel
Welche Änderungen gibt es?    

 

XHTML?
XHTML ist die Erweiterung des bisherigen HTML4-Standards für Web Dateiformate. XHTML-Dokumente basieren auf XML, der Extensible Markup Language. Diese entwickelt sich zu einem universalen Dateiformat zum Datenaustausch zwischen Programmen. Dabei wird zwischen Inhalt und Formatierung eines Dokumentes strikt unterschieden. XHTML ist durch den Entwickler erweiterbar und besser an andere Ausgabegeräte wie Handys, PDA's und andere mobile Internetgeräte anpassbar.
Hyperlink zu XHTML: http://www.w3.org/TR/xhtml1/#xhtml.
 
Vorteile von XHTML: Zitat aus: http://www.websitedev.de/xhtml/xhtml1/
  • XHTML Dokumente sind XML konform. Als solche können sie ohne weiteres mit Standard-XML-Werkzeugen betrachtet, bearbeitet und validiert werden.
  • XHTML Dokumente können so geschrieben werden, daß sie genauso gut oder besser in bestehenden HTML 4 Benutzeragenten funktionieren wie in neuen, XHTML 1.0 konformen Benutzeragenten.
  • XHTML Dokumente können Anwendungen nutzen (z.B. Skripte oder Applets) die entweder vom HTML Dokumentobjektmodell oder vom XML Dokumentobjektmodell (DOM) abhängig sind.
  • Sowie sich die XHTML Familie weiterentwickelt, werden XHTML 1.0 konforme Dokumente eher zusammen mit und innerhalb verschiedener XHTML Umgebungen arbeiten können.

 

 

 

Welche Änderungen gibt es?
  • XHTML-Dateien benötigen einen DOCTYPE-Tag im Kopf.
  • Tags müssen immer klein geschrieben und alle geschlossen werden. Auch <br>, Beispiel: <br/><hr/>
  • Alle Attribute müssen in Anführungszeichen stehen und einen Wert zugewiesen erhalten. (border="0")

Einfache Tags müssen durch folgende Syntax geschlossen werden: <img src="foto.jpg"/>, <br/>, <hr/>.

Formatierungen direkt in HTML sind nicht mehr vorgesehen (z.B. <font color=green>), diese müssen in externes CSS ausgelagert werden. In XHTML 1.1 sind folgende Tags nicht mehr vorhanden (deprecated): <font>, <applet>, <basefont>, <center>, <dir>, <isindex>, <menu>, <s>, <strike>, <u>.


Die Wohlgeformtheit von Dokumenten ist in XML Vorschrift. Tags müssen korrekt verschachtelt werden. Beispiel: <p>here is an emphasized <em>paragraph</em>.</p> ist richtig verschachtelt: <p>here is an emphasized <em>paragraph.</p></em> dagegen falsch.

 

 

 

XHTML-Beispiel
 
einfache XHTML-Datei
<?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="de" lang="de">
<head> 
<meta http-equiv="Content-Type" content="text/html;" charset="UTF-8" />
<title>XHTML</title>
</head>
<body>

<p>XHTML-Das neue HTML!</p>

</body>
</html>
 

<?xml version="1.0" encoding="UTF-8"?> teilt dem Browser mit das hier ein XML-Dokument vorliegt und stellt gleichzeitig den Zeichensatz ein. Manche Browser reagieren auf diese Zeile aber nicht wie vorgesehen, so dass diese auch weggelassen werden kann.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> teilt mit das hier ein XHTML-Dokument folgt. DTD ist die DokumentType-Definition, legt als fest wie das Dokument aufgebaut ist, und legt einen der drei XHTML-Formate fest:

XHTML-1.0-Strict
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
 
Die deprecated Tags können nicht mehr verwendet werden. CSS ist Pflicht.
XHTML-1.0-Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
 
Alle HTML4-Tags bleiben erhalten, auch die deprecated markierten Tags. CSS muss nicht verwendet werden. Also die schnellste Methode eine HTML in XHTML umzuwandeln.
XHTML-1.0-Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd">
 
Hiermit werden Framesets eingelegt.

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"> startet das eigentliche HTML-Dokument und legt den namespace und die Sprache fest.

<meta http-equiv="Content-Type" content="text/html;" charset="UTF-8" /> legt als Zeichensatz den Unicode UTF-8 fest, in dem u.a. alle deutschen Sonderzeichen enthalten sind.