Blog webdeveloperski Patryk yarpo Jar

Różnice między HTML i XHTML

Autor wiadomości Listopad 17, 2010

Aktualnie w internecie panują dwa "standardy": HTML oraz XHTML. Zagłębiając się bardziej w tematykę, najczęściej 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 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:

http://en.wikipedia.org/wiki/DOM_Events

Tagged as: , , Dodaj komentarz
Komentarze (0) Trackbacks (0)

Brak komentarzy.


Leave a comment

 

Brak trackbacków.