Autor | Zpráva | ||
---|---|---|---|
Yur4Y Profil |
#1 · Zasláno: 10. 4. 2009, 11:25:57
Zdravím.
Pokúšal som sa Chamurappiho kontaktovať na email, ktorý má uvedený na validator.webylon.info, ale neodpovedá mi, tak píšem sem. Neviem, či som tému dobre zaradil, ale v popise sekcie je "validita", tak snáď :) No ale prejdime k veci. Dal som validovať najprv tento pokusný HTML kód: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en-US"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <p id=odstavec>Ahoj </body> </html> Potom zmením DOCTYPE na XHTML 1.0 Strict, ale nepridávam ukončovaciu lomku do <meta>, nevkladám úvodzovky okolo hodnoty atribútu ani nepridávam ukončovací tag </p>. Dokument vyzerá teda takto: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="en-US"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <p id=odstavec>Ahoj </body> </html> Validátor by mal následne zobraziť takýto výsledok: Dokument neprošel validací, 1 chyba definice typu dokumentu "-//W3C//DTD XHTML 1.0 Strict//EN" obsahuje chyby Je jasné, že validujem HTML, preto by nemal hlásiť "chyby", ktoré sú v HTML povolené, ale v XHTML nie. Dostávam však takýto výsledok: Dokument neprošel validací, 2 chyby definice typu dokumentu "-//W3C//DTD XHTML 1.0 Strict//EN" obsahuje chyby ukončovací značka elementu "P" je vynechána, což jeho deklarace nepřipouští Čudujem sa. Validátor predsa validuje HTML v oboch prípadoch, ale v druhom prípade mu prekáža neuzavretý element <p>, čo by malo prekážať iba v XHTML. Na jednej strane teda tento validátor povoľuje HTML konštrukcie (<meta>, id=odstavec), ale na druhej mu niektoré HTML konštrukcie prekážajú (chýbajúce </p>). Bude táto chyba opravená? Ďakujem. |
||
Chamurappi Profil |
#2 · Zasláno: 10. 4. 2009, 11:53:17
Reaguji na Yur4Y:
Jsi tu správně, tady odpovídám rychleji :-) Syntaktická pravidla (jako povinnost uvozovek, zápis prázdných elementů) jsou určená vyšším protokolem, tedy MIME typem, ale validátor se pořád musí řídit tím, co je v uvedené DTD. Bere odkázanou „xhtml1-strict.dtd“ jako odrůdu HTML DTD, takže z ní je schopen vyčíst, které elementy či atributy jsou kde povolené. Ale něco mu v ní přeci jen vadí — že chybí údaj o volitelnosti značek. Přesně kvůli tomu naříká, že „definice typu dokumentu "-//W3C//DTD XHTML 1.0 Strict//EN" obsahuje chyby“. Deklarace odstavce vypadá v HTML DTD takto: <!ELEMENT P - O (%inline;)* -- paragraph --> <!ELEMENT p %Inline;> Mimochodem, zkus si zvalidovat v oficiálním validátoru tento kód, který by měl být ekvivalentní k tvému (druhému): <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="en-US"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <p id=odstavec>Ahoj </body> </html> |
||
Yur4Y Profil |
#3 · Zasláno: 10. 4. 2009, 11:59:09 · Upravil/a: Yur4Y
Ďakujem, už mi je to jasné :-) Nevedel som, že možnosť vynechania uzatváracích značiek je v DTD.
|
||
Časová prodleva: 15 let
|
0