Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03551.jsonl.gz/2170

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, <email-pii> Webmaster von tiptom.ch und tomogramm.ch