Websiteentwicklung: XHTML: Kommentare

Aus Wikibooks

Kommentarsyntax[Bearbeiten]

Als XML-basierte Sprache erbt XHTML die XML-Syntax für Kommentare:

 <!-- Das ist der Kommentar -->


Kommentare dürfen auch mehrzeilig sein:

 <!--
     Dieser
     Kommentar
     ist
     mehrzeilig
 -->


Wie ein mehrzeiliger Kommentar gestaltet werden sollte, schreibt XML nicht vor. Es erweist sich jedoch als hilfreich, die Zeichenfolge für das Kommentarende bei mehrzeiligen Kommentaren am Beginn einer neuen Zeile statt am Ende der vorherigen Zeile zu platzieren und den Kommentarinhalt einzurücken, da man sonst eventuell das Kommentarende übersieht:

 Ein Text über Kommentare
 <!-- Dieser Kommentar
 ist mehrzeilig -->
 Dieser Text gehört wieder zum Text.


Wozu dienen Kommentare?[Bearbeiten]

Kommentare dienen dazu, Informationen im Dokument so unterzubringen, die beim normalen Betrachten nicht sichtbar sind und beim normalen Verarbeiten ignoriert werden.

Insbesondere in langen, großen XHTML-Dokumenten kann der sinnvolle Einsatz von Kommentaren die Arbeit mit dem Dokument enorm erleichtern, indem man entsprechende Stellen im Dokument mit Kommentaren markiert, zum Beispiel mit <!-- Kopfzeile -->, <!-- Navigationsleiste -->, <!-- Dokumentinhalt --> und <!-- Fußzeile --> an den entsprechenden Stellen.

Zudem lassen sich Kommentare hervorragend dazu verwenden, Teile des Quelltextes eines Dokumentes vorübergehend zu deaktivieren, ohne sie gleich aus dem Dokument zu löschen:

<!-- z.Z. keine Demo <p><a href="demo">Demo-Version zum ausprobieren</a></p>-->


Wo sind Kommentare erlaubt?[Bearbeiten]

Kommentare dürfen an fast jeder beliebigen Stelle eines Dokuments stehen.

An folgenden Stellen dürfen Kommentare stehen:

  • Innerhalb von Elementen
<blockquote cite="http://de.wikisource.org/wiki/Faust_I">
<div>
 Mit Eifer hab’ ich mich der Studien beflissen,<br />
 Zwar weiß ich viel, doch möcht’ ich alles wissen.
 <!-- 600/601 -->
</div>
</blockquote>
  • Nach der XML-Deklaration
<?xml version="1.0" ?>
<!-- Stilvorlage erstmal nur zum Testen -->
<?xml-stylesheet href="test1.css" type="text/css" title="Test 1" alternate="yes"?>
<html xmlns="http://www.w3.org/1999/xhtml" version="XHTML+RDFa 1.1">
  • Vor oder nach der Dokumenttypdeklaration
<?xml version="1.0" ?>
<?xml-stylesheet href="test1.css" type="text/css" title="Test 1" alternate="yes"?>
<!-- Stilvorlage erstmal nur zum Testen -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN"
    "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
<!-- Testseite für Stilvorlagen -->
<html xmlns="http://www.w3.org/1999/xhtml" version="XHTML+RDFa 1.1">
  • Im internen Unterbereich der Dokumenttypdefinition
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
  [
<!--MeinDing definieren-->
<!ENTITY MeinDing "Das ist mein Ding!"> 
  ] >
  • Am Ende des Dokumentes nach dem Wurzelelement (hinter der Endmarkierung des Elementes html)
...
</html>
<!-- zuletzt geändert am 2009-09-09T09:09:09.09Z von Dieter -->


An folgenden Stellen dürfen Kommentare nicht stehen:

  • Kommentare dürfen nicht innerhalb einer Elementmarkierung stehen.
  • Kommentare dürfen nicht vor einer dem Dokument eventuell voranstehenden XML-Deklaration stehen.

Was ist zu beachten?[Bearbeiten]

Beim Einsatz von Kommentaren ist folgendes zu beachten:

  • Kommentare dürfen die Zeichenfolge "--" nicht enthalten. Folgender Kommentar ist also ungültig: <!-- Test -- Test -->
  • Kommentare werden durch die nächste Zeichenfolge --> abgeschlossen.
  • Daraus ergibt sich, dass Kommentare in XHTML nicht geschachtelt werden können.

sowie:

  • Kommentare sind keine Sicherheitsfunktion. Der Inhalt von Kommentaren wird zwar bei der Darstellung des Dokumentes nicht angezeigt, ist jedoch dennoch vorhanden. Ein Benutzer kann die Kommentare jederzeit mit Funktionen wie "Ansicht -> Quelltext anzeigen" (Bezeichnung je nach Darstellungsprogramm unterschiedlich) sichtbar machen.

Hinweise und Richtlinien zum Einsatz von Kommentaren[Bearbeiten]

Kommentare sollten sinnvoll eingesetzt werden und den Menschen, die den Quelltext bearbeiten, die Bearbeitung erleichtern. Zu viele Kommentare sind ebenso wenig hilfreich wie zu wenige. Kommentieren Sie nur Wesentliches, zum Beispiel wichtige Bereiche des Dokumentes oder ungewöhnliche, schwierig verständliche Formatierungen, die speziell in jenem Dokument auftreten.

Formatierungsvorschlag für Kommentare[Bearbeiten]

Einige professionelle X(HT)ML-Entwickler haben aus der Programmentwicklung mit Sprachen wie C oder Java die folgenden Konvention für Kommentare übernommen:

  • Der Inhalt mehrzeiliger Kommentare wird eingerückt.
  • Die Folgezeilen mehrzeiliger Kommentare beginnen mit -.
  • Das Kommentarende steht einzeln auf einer neuen Zeile.

Beispiel:

 <!-- Dies ist ein
   - mehrzeiliger
   - Kommentar
   -->

Wenn man sich an diese Konvention hält, ist ein Kommentar besonders gut als solcher erkennbar. Das kann auch dann nützlich sein, wenn der Kommentar dazu dient, einen Teil des Dokumentes vorübergehend auszublenden:

 <!-- Zur Zeit nicht verwendet, weil Demo nicht verfügbar:
   - <p>
   -     <img src="test.png" alt="test" />
   -     Testen Sie das Produkt mit einer <a href="demo">Demo-Version</a>
   - </p>
   -->

Im Vergleich zu

 <!-- Zur Zeit nicht verwendet, weil Demo nicht verfügbar:
 <p>
     <img src="test.png" alt="test" />
     Testen Sie das Produkt mit einer <a href="demo">Demo-Version</a>
 </p>
 -->

Andererseits macht die erste Variante deutlich mehr Arbeit als die zweite. Zudem kennzeichnen Editoren mit farblicher Hervorhebung der Syntax Kommentarbereiche ohnehin auffällig, meist ausgegraut. Wird ein solcher Editor also verwendet, sollte es reichen, zu Beginn und am Ende eines Kommentars eine gesonderte Zeile zu spendieren.

Definition gemäß W3C[Bearbeiten]

XHTML-Kommentare werden in Kapitel 2.5 der XML-Spezifikation als BNF-Produktion 15 wie folgt definiert:

[15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

Die Produktion sagt aus, dass

  • ein Kommentar mit der Zeichenfolge <!-- beginnt,
  • eine beliebig lange, auch leere Zeichenfolge aus sämtlichen in XML erlaubten Zeichen mit Ausnahme mehrerer aufeinanderfolgender --Zeichen enthalten darf und
  • mit der Zeichenfolge --> endet.

Verweise[Bearbeiten]