Autor Zpráva
leprra
Profil
Zdravím přítomné,
validátor na W3c.org - se nějak vylepšil či co, ještě tak před cca 10 dny jsem měla vše validní,
ale nejčko mi to hlásí cosi stran deklarace DOCTYPU:


Warning DOCTYPE Override in effect!
The detected DOCTYPE Declaration
"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"
has been suppressed and the DOCTYPE for "XHTML 1.0 Transitional" inserted instead,
but even if no errors are shown below the document will not be Valid until you update it to reflect this new DOCTYPE.

- zřejmě si sedím na vedení, ale nějak nechápu jak to teda má být

+ dále mi to píše, že se dává atribut k <html> - a to je fakt?

Missing xmlns attribute for element html. The value should be: http://www.w3.org/1999/xhtml.
Many Document Types based on XML need a mandatory xmlns="" on the root element. For example, the root element for XHTML will look like:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">


nejsou to nějaký vopičárny?

díky moc-li
nightfish
Profil
Warning DOCTYPE Override in effect!

ve validačním formuláři máš zaškrtnutý natvrdo nějaký DOCTYPE místo hodnoty Detect automatically...

dále mi to píše, že se dává atribut k <html> - a to je fakt?
ano, v XHTML se k <html> opravdu dává atribut s určením jmenného prostoru - xmlns
leprra
Profil
aha diky moc + tady něco o tom xmlns - kdyby měl někdo tu potřebu
http://www.sovavsiti.cz/c01341.html
leprra
Profil
+ související dotaz ohledně <?xml version="1.0" encoding="utf-8"?>

= <?xml version="1.0" encoding="utf-8"?>
tohle by se teda u XHTML mělo vložit na začátek (pokud mám oneho v utf),
ovšem když to tam dám - stránky se mi poněkud zmenší
= nevíte co to je?

díky
Plaváček
Profil
leprra

Viz http://www.jakpsatweb.cz/css/mody-prohlizecu.html
leprra
Profil
jasný o módech tak nějak vím, ale jak s tím souvisí to <?xml version="1.0" encoding="utf-8"?>
to nějak tu deklaraci změní?...


mám to takhle
______________________________________
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Plaváček
Profil
leprra

Přepne to IE 6 do quirk modu, neboli zpětně kompatibilního režimu. Tam pak leckteré deklarace v CSS fungují poněkud jinak, než v režimu standardním. Ostatně - pokud máš stránku v kódování UTF-8, pak XML deklaraci uvádět nemusíš.
Chamurappi
Profil
Reaguji na leprru:
Missing xmlns attribute for element html. The value should be: http://www.w3.org/1999/xhtml.
Podívejme se, jaké atributy má v DTD element <html>:
<!ATTLIST html

%i18n;
id ID #IMPLIED
xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
>
Takže atribut xmlns je deklarovaný jako fixní. Co to znamená, že je fixní?
Definition: If the declaration is neither #REQUIRED nor #IMPLIED, then the AttValue value contains the declared default value; the #FIXED keyword states that the attribute MUST always have the default value. When an XML processor encounters an element without a specification for an attribute for which it has read a default value declaration, it MUST report the attribute with the declared default value to the application.
Z čehož plyne, že při neuvedení atributu má tento fixní výchozí hodnotu. Jeho neuvedení není prohřešek proti validitě. Validátor, který tohle hlásí jako chybu, si rozhodně nezaslouží přívlastek „vylepšený“. Maximálně „zprasený“.

nejsou to nějaký vopičárny?
Jsou. Doporučuji spoléhat se na validátor, který se řídí specifikacemi spíše než dojmy QA týmu W3C.

ovšem když to tam dám - stránky se mi poněkud zmenší
Jak již bylo zmíněno, jde o režimy prohlížečů. Explorer 6 nepočítá s tím, že před <!doctype> uvedeš nějaké divné cosi, co do HTML nepatří. Ostatní prohlížeče jsou tolerantnější, ale přesto tvůj kód berou jako rozbité HTML (lomítka ve <značkách /> si odmyslí).


Reaguji na Plaváčka:
pokud máš stránku v kódování UTF-8, pak XML deklaraci uvádět nemusíš
Co by se mohlo stát, kdyby měla stránku v jiném kódování? Prohlížeče budou kódování v XML deklaraci tak či onak ignorovat.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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