GRY-Online.pl --> Archiwum Forum

Czy każdy poprawny dokument X(HTML) musi mieć deklarację DTD?

23.04.2009
18:19
smile
[1]

zbanan [ Centurion ]

Czy każdy poprawny dokument X(HTML) musi mieć deklarację DTD?

Zadano mi takie pytanie, znalazłem takie odpowiedzi:

"HTML 4.01 specifies three DTDs, so authors MUST INCLUDE one of the following document type declarations in their documents."
w3.org

"The DOCTYPE declaration IS ALWAYS the first line in an XHTML document!"
w3schools.com

"There MUST BE a DOCTYPE declaration in the document prior to the root element."
w3.org

Niby wszystko jasne, ale ktoś zarzuca mi, że jednak nie mam racji. O co chodzi? Czy mi się zdaje, czy wg W3C każdy HTML/XHTML musi mieć zadeklarowane DTD, bo inaczej nie jest to POPRAWNY dokument (może się wyświetli, ale walidacja i ogólnie założenie W3C się nie zgadza).

Webmasterzy, pomocy :P

23.04.2009
18:25
smile
[2]

Cremek [ Konsul ]

Musi - koniec.

23.04.2009
18:30
[3]

zbanan [ Centurion ]

Moja znajoma studiuje na UW i wykładowca się z nią kłóci, że NIE i koniec.

WTF? :P

23.04.2009
18:37
[4]

pecet007 [ - ]

Musi mieć.
Wywal deklarację DTD i zobacz jak przeglądarka interpretuje stronę (w firefoksie prawym i informacje o stronie)
Jeśli jest DTD i poprawny XHTML to ładnie pokazuje: tryb standardów, bez DTD tryb wtecznej kompatybilności.
Samo DTD definiuje zachowanie poszczególnych elementów XMLa więc skąś przeglądarka musi wiedzieć jakiego szablonu używać.

23.04.2009
18:41
[5]

zbanan [ Centurion ]

W zasadzie cytaty z [1] pościku wyczerpują temat. Cholera, myślałem, że skoro wykładowca się o to sprzecza, to wie co mówi. Nie ma żadnych odstępstw od tej reguły?

W sumie, co za różnica, nawet jeśli są, to wytyczne W3C są jednoznaczne.

23.04.2009
20:51
smile
[6]

Widzący [ Legend ]

Prawdopodobnie chodzi o logikę, dokument bez DTD może nie wyświetlić się poprawnie ale jednak się wyświetli, przynajmniej w niektórych przypadkach, w innych przypadkach wyświetli sie poprawnie lub też nie spowoduje błędu interpretacji. Z tego punktu widzenia DTD nie jest "niezbędny", dokument XHTML nawet nie musi niczego wyświetlać żeby być poprawny.

23.04.2009
21:01
smile
[7]

zbanan [ Centurion ]

Pytanie brzmiało dokładnie tak:

Każdy poprawny dokument (X)HTML musi zawierać DTD.

Kumpela stwierdziła, że to prawda. Profesor utrzymuje, że nie.

23.04.2009
21:12
[8]

wysiak [ Legend ]

Imho musi, jesli ma przejsc walidacje. Jak Widzacy pisze, bez deklaracji typu jest (spora) szansa, ze dokument sie wyswietli poprawnie, bo programy staraja sie byc user-friendly i idiotoodporne, i probuja doctype zgadywac. Jednak kazdy validator w takim przypadku wyrzuci blad, wiec imho nie mozna powiedziec, ze dokument bez DTD jest dokumentem poprawnym.

23.04.2009
21:32
[9]

Widzący [ Legend ]

Chodzi prawdopododnie o XHTML z XML Schema (zamiast DTD), W3C opublikowało definicję XHTML 1.0 w XML Schema.

© 2000-2024 GRY-OnLine S.A.