Różnice między HTML 4.01 i XHTML 1.0 Drukuj
Ocena użytkowników: / 2
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
wtorek, 26 października 2010 12:10

Aktualnie w internecie panują dwa "standardy": HTML oraz XHTML. Zagłebiając się bardziej w tematykę, najczęsciej wcale nie jest tak, że XHTML jest lepszy. Co więcej rzadko XHTML ma prawo do tegoź "X"... Ale to jest temat na inny artykuł. W tym artykule chciałbym skrótowo pokazać główne różnice między HTML i XHTML

 

HTML vs. HTML


HTML 4.01

XHTML 1.0

Reakcja na błędy w kodzie

Stara się wyświetlić, cokolwiek by się nie stało.

Strona nie jest wyświetlona (teoretycznie – w praktyce, jeśli występują błędy przeglądarki traktują kod jako HTML)

Typ MIME

text/html (tylko)

application/xhtml+xml
application/xml

text/html (powoduje, że XHTML jest traktowany jak HTML – zaprzecza idei używania XHTML http://www.hixie.ch/advocacy/xhtml. Pozwala wyświetlać stronę w IE. Można stosować skrypty negocjacji: http://kurs.browsehappy.pl/HTML/Wysylanie )

Przestrzeń nazw

prze... – co?

Element główny html musi zawierać atrybut xmlns określający przestrzeń nazw XHTML:http://www.w3.org/1999/xhtml

Stosowanie aplikacji XML

Nie można

można stosować aplikacje XML (jak MathML czy SVG) bezpośrednio w dokumencie

Zamykanie znaczników

Nie trzeba

<p>To jest akapit

<p>Drugi akapit

Konieczność

<p>Akapit 1</p>

<p>Akapit 2</p>

Kolejność znaczników

<a><b><c></a></c></b> - jest ok

<a><b><c></c></b></a> - jest ok

<a><b><c></c></b></a> - tylko tak jest ok

Case sensitive

Nie ma.

<a></A> jest poprawne

Jest.

<a></a> - wszystkie znaczniki i nazwy atrybutów pisane małymi literami (jedynie DOCTYPE pisany wielkimi literami).

Puste elementy

Nie zamykamy.

<br>

<hr>

<img>

Zamykamy.

<br/> lub <br></br>

<hr/> lub <hr></hr>

<img/><img></img>

Atrybuty

Dowolna notacja, nie trzeba obejmować cydzysłowem

<a OnCliCk=b>

Małymi literami*. Zawsze w cudzysłowie lub apostrofach

<a onclick='b'>

Skrótowy zapis atrybutów

Dozwolony.

<input type=radio checked>

Każdy atrybut musi mieć wartość

<input type='radio' checked='checked'/>

Komentatarz <!-- --> używany do ukrywania kodu JS przed starszymi przeglądarkami

Używany. Działa.

Niezalecany. Parser XML może usunąć taki kod jako, że komentarz nic nie wnosi.

Starsze przeglądarki i tak nie obsługują XHTML-a.

Rozwiązanie – sekcje CDATA, np.

<script type='text/javascript'><![CDATA[ kod ]]></script>

Rozwiązanie (lepsze): załączać pliki z kodem JS, a nie umieszczać ten kod w kodzie XHTML.

Źródła:

* - wyjątkiem od tej reguły są zdarzenia odnoszące się do zmian stanu drzewa DOM, np. DOMMenuItemActive itp. Lista wszystkich zdarzeń dostępna na stronie: