suit: HTML-eigene Zeichen

Beitrag lesen

kann aus dem < kein öffnender Tag abgeleitet werden. Zum einen wegen des Leerzeichens und zum anderen, weil es kein Element 42 gibt.

dass es kein element 42 in html gibt ist richtig, aber die regeln liegen auf der grundlage von sgml - da ist sehrwohl ein element 42 möglich - die dtd ist zwar dann dagegen, da die meisten browser aber nicht aktiv valideren, wirds ihnen ggf herzlich egal sein

prinzipiell sollten die 5 zeichen immer maskiert werden, wenn man nicht genau weiß, was man tut - besonders in html 4 sind so viele sgml-spezifische dinge erlaubt, die in xhtml verboten sind, dass man nur mit sehr sehr tiefer kenntnis der materie sämtliche syntaxregeln richtig beachtet

folgender kram zb ist vollkommen valide und ich hab keins der betreffenden zeichen maskiert - "leider" stellen das sämtliche browser inhaltlich falsch dar - am nächsten an das korrekte ergebnis kommt übrigens opera, dicht gefolgt von ie7 [!] - firefox 3 und safari 3 sind am weitesten davon entfernt ;)

  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
       "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
<head>  
<title>Example</title>  
</head>  
<body>  
 <p/<" > <&ndash&nbsp&&copy > < &auml >''' <>weee</>"> & " ' baz foo/weee  
</body>  
</html>  

wenn mir jetzt keine fehler unterlaufen ist, sollte das ganze eigentlich so aussehen (bzw dem hier entsprechen - wobei empty tags, eben das <>weee</>, in html garnicht erlaubt wären - den w3-validator kümmert das übrigens nicht ;))

<p>&lt;&quot; &gt; &lt;&amp;ndash&amp;nbsp&amp;&amp;copy &gt; &lt; &amp;auml &gt;&#039;&#039;&#039; weee&quot;&gt; &amp; &quot; ' baz foo</p>weee

also so

<" > <&ndash&nbsp&&copy > < &auml >''' weee"> & " ' baz foo
weee