Unglaublich, aber wahr: Dieses Dokument enthält unmaskierte Ampersands ("&", kaufmännische Und-Zeichen)!
Der W3C-Validator hat damit kein Problem; die Seite ist valides HTML 4.01 Transitional.
In HTML muss das Ampersand nicht immer maskiert sein, d.h. es muss
nicht immer als Entity & im Quelltext stehen.
Notwendig ist die Maskierung dort, wo der Browser denken könnte,
das &-Zeichen sei der Anfang einer Entity, so z.B.
innerhalb von URLs im HREF-Attribut von Links.
Gemäss der HTML 2.0 Specification wird ein Ampersand nur als Markup betrachtet, wenn unmittelbar darauf ein Buchstabe kommt, oder ein Doppelkreuz "#", gefolgt von einer Zahl.
In der HTML 4 Specification steht nichts explizit zu diesem Punkt; der W3C-Validator beurteilt HTML-4-Seiten mit unmaskierten Ampersands als valide.
In XHTML und XML dagegen sind die Regeln anders; Ampersands müssen offenbar immer maskiert sein (ausser eventuell in CDATA-Bereichen?).
Das Testdokument in XHTML 1.0 Strict mit unmaskierten Ampersands ist somit nicht valide.
In HTML 2.0 - 4 ist es nicht notwendig, das Ampersand-Zeichen
immer zu maskieren, aber auch nicht falsch.
In XHTML 1.0 ist es notwendig, das Ampersand-Zeichen immer zu maskieren.
Um sich zusätzliche Arbeit bei der Umstellung von HTML auf XHTML zu ersparen,
ist es sinnvoll, auch in HTML die Ampersands immer zu maskieren.
Thomas Lüthi, luthi@my-mail.ch Webmaster von tiptom.ch und tomogramm.ch