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:
(hex 0D
und/oder hex
0A
),hex 09
),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
.
default
bedeutet, dass die fehlwertmäßige
Behandlung von Leerzeichen einer Applikation für diese Elemente verwendet
werden soll. In Amaya ist diese fehlwertmäßige Behandlung das Entfernen
bedeutungsloser Leerzeichen für alle unterstützten DTDs.preserve
zeigt an, dass Applikationen all diese
Zeichen unangetastet lassen mussen, mit Ausnahme des ersten Zeichens,
welches direkt dem Ende-Tag eines Elementes folgt und am Ende einer Zeile
steht.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 entfernt
bedeutungslose
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>