weil der Slash in SGML das Ende eines Tags/Elements anzeigt, HTML (nicht XHTML) ist eine SGML-Anwendung und erlaubt deswegen hübsche Dinge wie <p/foo/ was übersetzt zu <p>foo</p> würde und <p>bar</> was zu <p>bar</p> wird. Der einzige Browser, der das halbwegs kann ist meiner Erinnerung nach allerdings Lynx.
zeig mir bitte ein beispiel, wie ich durch nutzung von obscure-features innerhalb von elementen invaliden html-code erzeugst (zb durch benutzereingaben) und begründe bitte, wie das passieren kann - ich kann mir drunter nix vorstellen
folgender schnipsel, da sind wir uns einig ist valide
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>foobar</title>
</head>
<body>
<h1 id="foo">bar</h1>
<p><b>fo< o</b>ba& z</p>
</body>
</html>
der hier zb ist auch valide:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<title/foobar/
<h1 id=foo/bar/<p<b/fo< o/ba& z</>
(man sieht gut, dass sich das syntax-highlighting des forums schon etwas schwer tut
wenn du also auf die nutzung von obscure-features in sgml und deren gefahren bestehst, hast du mit deiner aussage
In HTML sind nur < und & immer zu markieren, wenn sie nicht in ihrere Sonderbedeutung gemeint sind.
unrecht - diese sind sehrwohl auch ausserhalb ihrer "sonderbedeutung" in normalem fliesstext erlaubt, zb wenn ihnen ein leerzeichen folgt
sgml ist weit zu umfangreich, alsdass ein mensch alle features im kopf haben kann - prinzipiell ist es jedoch immer empfehlenswert, sämtliche vorkommen von &, ", ', < und > innerhalb von attributen bzw ausserhalb der start- und endtags von elementen zu escapen