W3C Amaya vorherige Seite erste Seite

Über die Behandlung von Leerzeichen

Amaya entfernt bedeutungslose Leerzeichen (white spaces) wenn ein Dokument geladen wird, es sei denn diese müssen explizit erhalten werden. Dies gilt bei XHTML-, MathML-, und SVG-Dokumenten und auch bei HTML-Dokumenten, welche MathML- oder SVG-Elemente enthalten.

Folgende Leerzeichen werden als bedeutungslos erachtet:

Um alle Leerzeichen für ein Element zu bewahren, sollte man das Attribut xml:space oder das Element pre (nur in XHTML gültig) verwenden. Die möglichen Werte des Attributs xml:space sind: default und preserve.

Das Attribut xml:space wird auf den gesamten Inhalt des Elements, in dem es spezifiziert wurde angewendet, also auch auf eingebettete Elemente. Das gilt solange, bis dort dieses Verhalten durch ein anderes Attrribut überschrieben wird.

In der DTD von XHTML erzeugt das Element pre das gleiche Verhalten wie das Attribut xml:space mit dem Wert preserve.

Amaya wendet die Behandlung von Leerzeichen an, wenn ein Dokument geladen wird und nicht während man das Dokument editiert. Eine Konsequenz daraus ist, dass diese sichtbar sind und mit abgespeichert werden, aber beim nächsten Laden des Dokuments verschwinden. Beispiel: der folgende Quellcode

<p>Amaya entfernt<strong >bedeutungslose Leerzeichen< /strong>(white spaces) wenn ein...</p>

erscheint während der Edition folgendermaßen:

Amaya entfernt bedeutungslose Leerzeichen (white spaces) wenn ein...

Der Text wird mit dieser Syntax gespeichert. Wenn das Dokument jedoch das nächste Mal geladen wird, dann sieht er so aus:

Amaya entferntbedeutungslose Leerzeichen(white spaces) wenn ein...

weil die führenden und nachfolgenden Leerzeichen des Elements <strong> als bedeutungslos angesehen und entfernt werden.

Der korrekte Quellcode würde so aussehen:

<p>Amaya entfernt <strong>bedeutungslose Leerzeichen</strong> (white spaces) wenn ein...</p>