Autor Zpráva
Ventary
Profil
Dobrý den,
už si nevím rady, proto prosím o radu vás... Má školní webovky, které mě baví a jazyk html ovládám myslím si docela slušně. Školní stránky musíme mít validní podle normy XHTML 1.0 Strict ve validátoru http://validator.w3.org. Do dnešního dne jsem měl stránky validní, ale najednou se mi na nich vyskytly dvě chyby, které jsem se celý den snažil vyřešit a nevede se... Problém nejspíš bude někde v hlavičce, protože chyby se vysklytli i na stránkách, které jsem dělal před rokem a dodnes validní byli...
týká se to těchto stránek:
http://lide.gymcheb.cz/~mikrbec/oktava/seminarka-VOS/index.php

hlavička vypadá takhle:
<?
echo("<?xml version=\"1.0\" encoding=\"windows-1250\"?>\n");
echo("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n\n");
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cz" lang="cz" >

<head><!-- ščřžýŠČŘŽÝ --><!-- nevim proč je tady chyba... -->

<meta name="generator" content="PSPad editor, poznámkový blok" />
<meta http-equiv="content-type" content="text/html; charset=windows-1250" />
<meta name="description" content="Osobní stránky o všem možnym" />
<meta name="copyright" content="© 2007, Michal Krbec" />
<meta name="author" content="Michal Krbec" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="css/menu.css" />
<script type="text/javascript" src="js/XulMenu.js"></script>

<title></title>

</head>

a do stránky to mam vkládaný pomocí <?php include "hlavicka.php" ?>

tohle mi vyplivl validátor:

XML Parsing Error

Line 7, column 42: XML Parsing Error: Premature end of data in tag head line 7
<head><!-- ščřžýŠČŘŽÝ --><!-- nevim proč je tady chyba... -->
Line 7, column 42: XML Parsing Error: Premature end of data in tag html line 5
<head><!-- ščřžýŠČŘŽÝ --><!-- nevim proč je tady chyba... -->

Moderátor Joker: Upravil jsem titulek, "validita - pomoc prosím...." je poněkud hodně obecné
Chamurappi
Profil
Reaguji na Ventaryho:
Jde o hloupou chybu oficiálního validátoru. Ve W3C pracují lemplové a občas pustí do světa nějakou ptákovinu. Většinou si jí všimnou do tří let, uvidíme, jak dlouho to potrvá u téhle.
Kdyby tvá HTML stránka byla brána jako XML, validní by byla.

lang="cz"
Čeština se značí „cs“.
Ventary
Profil
Chamurappi:
díky, o tý češtině vím, jenom jsem si toho nevšiml... hned mi to stáhlo jednu chybu a už zbývá jenom jedna...
Validátor pořád hlásí jednu chybu...
doufám tedy, že si toho W3C všimne co nejdříve...
Chamurappi
Profil
Reaguji na Ventaryho:
Validita je jednoznačná vlastnost vycházející ze specifikací, nikoliv z aktuálního chování jednoho jediného validátoru. Pokud tvá škola slepě důvěřuje všemu, co hlásí W3C Validátor, bez ohledu na specifikace, dopouští se začátečnické chyby. Oficiální validátor je sice spravovaný konsorciem, ale není referenční.
Ventary
Profil
Michal wrote:

My pages have been valid, but yesterday the W3C validator found a
mistake, which I don't know, where is it and how can I fixed it.
The results of my validation of the web pages are here:
http://lide.gymcheb.cz/~mikrbec/oktava/seminarka-VOS/index.php; I
think the error is with you.

My guess is that this problem was caused by the recent update of the W3C validator, and this really looks like a bug that I have not seen before.

It seems that the bug may depend on the use of the windows-1250 encoding. If I change the Czech text SEMINÁRNÍ PRÁCE Z PŘEDMĚTU VĚDECKÝ OBRAZ SVĚTA inside the h1 element on line 121 to something in plain Latin letters, like HEADING, the error message disappears.

For some odd reason, the validator's error message is completely unrelated to this and very obscure:

Line 7: Premature end of data in tag html line 5
<head><!-- ščřžýŠČŘŽÝ -->

So it seems to say that the problem is in the <html> tag that starts on line 5, even though the tag clearly ends on that line.

Obscure error conditions may occur when data is malformed at the character level, i.e. when the octets do not constitute data in the specified encoding (e.g., data declared as UTF-8 contains octets that are prohibited in UTF-8). The problem is that a higher-level program like a validator may expect its data to be in the specified encoding and get confused when it isn't. Unfortunately, I don't know any character-level "validator" (i.e. a program that analyzes whether its data consists of defined characters in the specified encoding). It would not be difficult (just boring) to write such a tool for a specific encoding like windows-1250. But I don't think this is the issue here.

At least as an interim solution, consider using the validator
http://www.htmlhelp.com/tools/validator/
It seems to have no problem with your page. I also tested it with the "validate entire site" option to validate the http://lide.gymcheb.cz/~mikrbec/oktava/seminarka-VOS/ site (19 pages) in a bunch.


tohle mi napsali přímo když jsem napsal na W3C... díky za pomoc, vypadá to opravdu jako chyba aktualizací u nich...
Chamurappi
Profil
Reaguji na Ventaryho:
Vidíš, i W3C ti doporučuje použít jiný validátor :-)
Tahle zajímavá chyba bude asi otravovat všechny, kdo vycházejí ze základní šablony HTML stránky v PSPadu, odkud předpokládám pochází „<!-- ščřžýŠČŘŽÝ -->“.

problem is that a higher-level program like a validator may expect its data to be in the specified encoding and get confused when it isn't
Někdo by jim měl poradit, aby přehodily výchozí kódování z UTF-8 na windows-1252. Lépe řečeno: znovu poradit. Už asi podesáté. Mít jako výchozí kódování něco, co fatálně selže na jednom podivném bajtu, nikomu nepomůže.
Ventary
Profil
tak koukám, že to šlo docela rychle, dnes už chyby zmizeli... díky Chamurappimu za pomoc a za čas.
Michal

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: