Í hnotskurn: munurinn á HTML og XHTML
Snöggsoðið yfirlit yfir muninn á HTML 4.01 Transitional og XHTML 1.0 Transitional, ætlað þeim sem þurfa að uppfæra gamlan vefkóða í kórrétt XHTML. (Þetta er aðallega skrifað fyrir félagana í vinnunni.)
Öll HTML mörk og stillingar á þau þurfa að skrifast í lágstöfum. Ekkert hástafakjaftæði!
HTML mörk sem eiga ekki samsvarandi lokunarmark, þurfa að enda á '
/>':<br>--><br /><hr>--><hr /><img ...>--><img ... /><input ...>--><input ... /><link ...>--><link ... /><meta ...>--><meta ... /><area ...>--><area ... /><param ...>--><param ... />
Ath: Það er mikilvægt að hafa bil á undan skástrikinu því annars munu sumir eldri vafrar lesa skástrikið sem hluta af nafninu á markinu, finnast útkoman asnaleg, og henda viðkomandi marki í ruslið og sleppa að birta það.
- Doctype markið efst í hverju HTML skjali breytist í
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - Í XML skjölum er venjan að byrja skjalið á XML skilgreiningu (t.d.
<?xml version="1.0" encoding="UTF-8"?>) en í XHTML skjölum getur borgað sig að sleppa þessari skilgreiningu því hún á það til að vefjast fyrir einstaka vöfrum og valda usla. Í XHTML má ekki sleppa að loka neinum mörkum. Ef mark á samsvarandi lokunarmark (t.d.
<p>og</p>) þá verður að nota það! Þetta gildir sérstaklega um þau mörk sem HTML 4.01 staðallinn segir að megi sleppa að loka. T.d.:<p>...</p><li>...</li><option value="gildi">...</option><dt>...</dt><dd>...</dd>
Allar löglegar stillingar á HTML mörk þurfa að vera á forminu
nafn="gildi". Þetta þýðir að nokkrar gamlar boolean stillingar þurfa að breyta um form. Dæmi:selected-->selected="selected"checked-->checked="checked"compact-->compact="compact"
Allur stílblaða- og javascriptkóði þarf helst að færast yfir í sjálfstæðar skrár, því XHTML er jafnan túlkað sem XML, og samkvæmt XML staðlinum má túlkunarhugbúnaðurinn henda öllum
<!-- athugasemdum -->í ruslið áður en skjalið er birt, og því er hætta á að CSS og Javascript kóði sem er falinn frá eldri vöfrum með því að setja<!-- ... -->utan um hann glatist og sé aldrei túlkaður/keyrður/birtur.XHTML úreldir gömlu
name=""stillinguna sem var notuð á<map>,<form>,<img>,<a>, o.fl. mörk. Klassískt dæmi um slíka notkun er<a name="foobar"></a>.Allar vísanir á vefslóðarendinguna
#foobarleita þess í stað eftir stillingunniid="foobar"innan XHTML skjalsins. Það má setjaid=""stillinguna á hvaða HTML mark sem er, en ef manni er umhugað um að vísanirnar virki í öllum eldgömlum vöfrum, þá má haldaname=""stillingunni áfram inni, en þá til viðbótar viðid=""stillinguna.Ath: Fyrsti stafurinn í
id=""gildi verður að vera enskur bókstafur - annað hvort hástafur eða lágstafur.id=""gildi mega undir engum kringumstæðum byrja á tölustaf, punkti, bandstriki eða öðrum slíkum táknum.Stilligildi þurfa alltaf að vera innan gæsalappa, og öll fyrirfram skilgreind stilligildi þurfa að skrifast í lágstöfum. Dæmi:
rowspan=2-->rowspan="2"method="POST"-->method="post"
Tungumálastillingin
lang="is"sem er yfirleitt sett á<html>markið, þarf að fá á sig XML forskeytiðxml:til að öðlast gildi í XHTML skjölum. Ef maður vill vera góður við gamla vafra, þá er samt allt í lagi að leyfa báðum stillingunum að vera í einu. Dæmi:<html xml:lang="is" lang="is">.Ampersand merkið (
&) verður alltaf að skrifa sem&- meira að segja í vefslóðum!
P.S. Fyrir tæpu ári síðan bloggaði ég um reyslu mína af því að flytja þessa síðu yfir í XHTML. Færslurnar hétu "Framfarir á síðunni - XHTML" og "XHTML - breytingar og minnispunktar".
Már Örlygsson



Svör frá lesendum (4)
Gaui svarar:
Helvíti gott. Allt tekið fram sýnist mér.
20. mars 2004 kl. 05:38 GMT | #
Már svarar:
Þetta er langt frá því að vera tæmandi, en þessi listi inniheldur allt það mikilvægasta.
21. mars 2004 kl. 01:12 GMT | #
Baldur svarar:
Og hvaða hálfvita datt í hug að búa þennan staðal til? Er venjulegt html ekki nógu gott?!?!?
21. mars 2004 kl. 16:41 GMT | #
Már svarar:
Baldur, XHTML er ekkert annað en venjulegt HTML útfært með dæmigerðum XML rithætti. Það er engin skylda að skrifa vefsíður í XHTML og ef þú telur að venjulegt HTML fullnægi þínum tæknilegu þörfum, þá skaltu óhræddur nota það áfram. XHTML er hins vegar heppilegur valkostur fyrir þá sem vilja geta meðhöndlað HTML skjölin sín með almennum XML túlkum, og nýtt sér þá kosti sem XML hefur þegar vinna á ákveðnar tegundir gagnavinnslu.
Endilega flettu upp í Google, og lestu þér til um kosti og galla XHTML staðalsins og kynntu þér aðeins málið, áður en þú kallar fólk hálfvita.
21. mars 2004 kl. 17:23 GMT | #