Datenschutzerklärung

Script wird nicht richtig erkannt

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Bug-Reports / Fehlermeldungen /

Script wird nicht richtig erkannt

  Beitrag schreiben
Autor
Beitrag Seiten: 1
stephantom
Gast



Liebes Validator-Team!

http://www.w3.org/TR/xhtml1/#h-4.8 besagt, dass <script>-Blöcke in XHTML mit öffendem und schließendem <script>-Tag notiert werden müssen:

<script type="text/javascript">
#PCDATA
</script>

Das trifft auch beim Einbinden von externen Scripts zu:

<script type="text/javascript" src="script.js"></script>

Folgendes Dokument wird von Validome als valide erkannt:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Invalid Script-Tag</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link rel="stylesheet" type="text/css" href="./style.css" />
<script src="./include/javascript.js" type="text/javascript" />
</head>

<body>
<h1>This page is not valid</h1>
</body>
</html>

IMHO ist das ein Bug.

Liebe Grüße,
stephantom


22.06.2006 21:32:57
  Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Hallo,
> Das trifft auch beim Einbinden von externen Scripts zu:

<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script.js" />
Ist in XML das Selbe - kein Inhalt ist nun mal kein Inhalt.
Der Inhalt dieses Elementes muß zwar #PCDATA sein, das hat aber nichts damit zu tun wie man ein leeres Element zu schreiben hat -> http://www.w3.org/TR/xhtml1/#h-4.6


_______________________________________
mfg
Thomas Mell

www.validome.org

22.06.2006 22:52:40
  Zitieren
stephantom
Gast



Hallo nochmal!

Vom DTD her ist <script> (genauso wie style und textarea auch) nicht als EMPTY definiert. Dieses Thema scheint jedoch generell sehr umstritten zu sein[1,2].
Ganz abgesehen davon wird ein <script type="text/javascript" src="script.js" /> vom IE als nicht geschlossenes <script> gesehen und damit wird der Rest des Dokuments als Script interpretiert.

[1] http://meg.hourihan.com/2003/12/more-on-xhtml
[2] http://www.lshift.net/blog/2006/04/03/xhtml-considered-harmful


29.06.2006 15:12:56
  Zitieren
Validome
Administrator

Registriert: 04.04.2005
Beiträge: 313
Hallo,
Ein EMPTY-Element MUSS leer sein (br, img...), das bedeutet noch lange nicht das ein nicht-EMPTY-Element einen Inhalt besitzen MUSS.
Sonst währen ja auch leere td,h1-6, p, u, i, b, strong, s usw. ein Fehler.

>...vom IE als nicht geschlossenes
Das ist ein Problem des Browsers und hat nichts mit den Spezifikationen, einer richtig funktionierenden Software oder einen Validator zu tun.


29.06.2006 17:29:15
  Zitieren
gurkenpapst
Gast




Ein EMPTY-Element MUSS leer sein (br, img...), das bedeutet noch lange nicht das ein nicht-EMPTY-Element einen Inhalt besitzen MUSS.


Das besreitet ja auch niemand. Allerdings ist das script-Element doch in XHTML 1.0 unstrittig nicht als EMPTY deklariert und damit sollte doch http://www.w3.org/TR/xhtml1/#h-4.3 Anwendung finden:


All elements other than those declared in the DTD as EMPTY must have an end tag.


http://www.w3.org/TR/xhtml1/#h-4.6 sollte eben gerade keine Anwendung finden, da script eben nicht als EMPTY definiert ist. In XML mag deine Aussage bezüglich der Gleichheit zutreffen, aber XHTML hat eben zusätzliche Regeln, die zu beachten sind. Der obige Satz ist imo unmissverständlich, zumal ja direkt zu den EMPTY-Elementen abgegrenzt wird, wo die Shorthand-Notation explizit erwähnt wird.


29.06.2006 23:01:55
  Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Hallo,
>http://www.w3.org/TR/xhtml1/#h-4.6 sollte eben gerade keine Anwendung finden, da script eben nicht als EMPTY definiert ist
In 4.6 steht kein Wort von "Empty" sondern bezieht sich auf leere Elemente. <script type="text/javascript" src="script.js"></script> ist aber leer; demnach kann man auch die Kurzschreibweise verwenden.
Das ist mal wieder ein Wiederspruch in den W3C-Specs, wir werden aber mal nachfragen was nun richtig ist.


_______________________________________
mfg
Thomas Mell

www.validome.org

30.06.2006 13:52:51
  Zitieren
gurkenpapst
Gast



Ok, http://www.w3.org/TR/xhtml1/#C_3 überzeugt mich davon, dass die Spezifikation sich selbst widerspricht. Denn dieser Punkt der Kompatiblitätsrichtlinie wäre ja unter Beachtung von Punkt 4.3 gar nicht notwendig, da die Form demanch eh unzulässig wäre.

Hier wird offensichtlich nicht klar getrennt zwischen leeren Elementen und Elementen, die als EMPTY deklariert sind. Die klare Unterscheindung in Punkt 4.3 sollte allerdings eher für die Unzulässigkeit sprechen.

Ich bin gespannt auf die Antwort ...


30.06.2006 21:07:33
  Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01