W3C Validierung

Aspri

Klamm-Fux
ID: 67481
L
27 Mai 2006
255
21
Bin mir gar nicht so sicher ob das hier richtig ist, aber ich probiere es einfach mal. Ich bin zur Zeit dabei meinen Quellcode meiner Webseite auf W3C Standard zu bringen, weil es mit anderen Browsern ein paar Probleme gibt, allerdings komme ich jetzt an meine Grenzen.

Bei einigen externen Links auf Toplist sind variablen wie "User=" etc. enthalten, die aber bei der Validierung bemängelt werden, die diese Variablen nicht definiert sind oder weil es an ein & gekoppelt ist, etc.

Warning Line 316 column 105: cannot generate system identifier for general entity "User".
...e/cgi-bin/main/topsites.pl?Action=In&User=Aspri" target="_blank"><img src="ht
An entity reference was found in the document, but there is no reference by that name defined. Often this is caused by misspelling the reference name, unencoded ampersands, or by leaving off the trailing semicolon (;). The most common cause of this error is unencoded ampersands in URLs as described by the WDG in "Ampersands in URLs".

Entity references start with an ampersand (&) and end with a semicolon (;). If you want to use a literal ampersand in your document you must encode it as "&" (even inside URLs!). Be careful to end entity references with a semicolon or your entity reference may get interpreted in connection with the following text. Also keep in mind that named entity references are case-sensitive; &Aelig; and æ are different characters.

If this error appears in some markup generated by PHP's session handling code, this article has explanations and solutions to your problem.

Note that in most documents, errors related to entity references will trigger up to 5 separate messages from the Validator. Usually these will all disappear when the original problem is fixed.

Was kann ich da machen? Wenn ich das User raus nehme bzw. das "&", dann wird der Link ungültig bzw. funktioniert nicht mehr.

Gleiches Problem auch nochmal bei einem anderem Link.
Warning Line 319 column 88: cannot generate system identifier for general entity "tl".
...www.topsites24.de/ts/ts.cgi?klick=18&tl=animefilme" target="_blank"><img src=

Und nochmal
Warning Line 333 column 128: cannot generate system identifier for general entity "offset".
...ervice3.de/onlinecount.php?id=c28936&offset=5&style=1"></SCRIPT><br>

Ich bin für jede Hilfe dankbar.
 
[...]wobei ich nicht so recht weiß wieso.
Ganz einfach: Ein XML-Parser erwartet nachdem er ein "&"-Zeichen gefunden hat, einen gültigen Folgecode, der mit einem ";" beendet wird.
z.B.
HTML:
<dummy>
  <foo bar="ungleichheitszeichen">> oder <</foo>
</dummy>
Du hast z.B. sowas in deinem Quellcode drinnstehen:
HTML:
<a href="https://www.example.com/?foo=bar&foo2=bar2">Test</a>
Der Parser läuft nun drüber, erkennt das "&"-Zeichen, findet aber weder das abschließende Semikolon, noch erkennt er eine gültige Sequenz. Er liest nur
Code:
[B][COLOR=Red]&[/COLOR][/B][I][COLOR=Red]foo2=bar2[/COLOR][/I][COLOR=Magenta]"[/COLOR]>
Das Anführungszeichen beendet das Attribut und die Entity ist nicht komplett
=> Abbruch

Richtig wäre:
HTML:
<a href="https://www.example.com/?foo=bar&foo2=bar2">Test</a>
Jetzt sieht es so aus:
Code:
[COLOR=SeaGreen][B]&[/B][/COLOR]foo2=bar2[COLOR=Magenta]"[/COLOR]>
Der grüne Teil wird als ein Zeichen verarbeitet und das Attribut zu Ende geparst.

edit:
Warum es gerade & heißt, findest du hier:
https://de.selfhtml.org/html/referenz/zeichen.htm#benannte_html
 
Zuletzt bearbeitet: