- eTwinning
- Learning Events: újabb kurzusok indulnak
- eTwinning Road Show: Európa házhoz megy
- Kompetencia alapú programcsomagok
- Szolgáltatói kosár
- Sulinet Nyelvek
- Sulinova Adatbank
- Magyar Géniusz Portál
- Nemzeti Tehetség Program
- Digitális Irodalmi Akadémia
- Kempelen Farkas Digitális Tankönyvtár
- Történelemtanárok Egylete
- Magyarország Képes Történelmi Kronológiája
- A holokauszt Magyarországon
- Jelkép és örökségtár
- Realika - Digitális foglalkozásgyűjtemény és oktatásszervezési szoftver
- Természetbúvár labor
- A magyar nemzeti parkok honlapja
- Segítségnyújtó szervezetek
HTML
vagy XHTML?
Sok helyen (pl. tananyagfejlesztési pályázatoknál) már nem HTML, hanem XHTML formátumban várják a webes dokumentumokat. Cikkünkben összefoglaljuk, mi a különbség az HTML és XHTML nyelv között, és a konverzióra is mutatunk példát.
Bevezető
Miért van szükség a váltásra? Az igen kedvelt HTML (HyperText Markup Language) szabványt sok kritika éri amiatt, hogy a tartalmi jelölésre szolgáló elemek mellett nagyon sok formai, a megjelenítést meghatározó elemet tartalmaz, így erősen összemosódik a tartalom és annak megjelenése.
A HTML 4.0 szabványban ezért sok (a korábbi verziókban előszeretettel használt) elemet érvénytelenítettek, és a megjelenésre, design-célra a stíluslapok (CSS) használatát javasolták. A HTML egyik nagy hátrányát azonban ez a szabvány sem tudta megváltoztatni, továbbra is egy statikus, előre definiált elemeket és paramétereket tartalmazó jelölő nyelv maradt.
Ezt a szabványkészítők természetesen nem hagyhatták annyiban, így megalkották az XHTML szabványt.
Az XHTML
De mi az az X az XHTML-ben? A válasz: eXtensible vagyis kiterjeszthető. Az XHTML családba tartozó dokumentumtípusok XML alapúak, azonban hagyományos (HTML 4.0 szabványt ismerő) böngészővel is olvashatók maradnak, ha betartunk néhány egyszerű szabályt. A közeljövőben várhatóan az XML alapú böngészőprogramok fognak elterjedni, amelyek természetesen ezt a fajta dokumentumot gond nélkül olvasni fogják.
XHTML-előnyök
- Az XHTML dokumentumok XML alapúak, könnyen áttekinthetők,
szerkeszthetők, érvényesíthetők (validálhatók) standard XML eszközökkel. A
validálás lényegében annyit jelent, hogy ellenőrizzük, hogy a dokumentum tartalma megfelel-e a nyelv szabályainak
(sémájának). Ha igen, akkor a dokumentumra azt mondjuk, hogy valid.
Ilyen ellenőrző programot találhatunk a weben is, pl.: http://validator.w3.org/ . Ez a HTML kiértékelő ellenőrzi a dokumentum helyességét az abban deklarált dokumentumtípusnak (DOCTYPE) megfelelően. (A DOCTYPE jelentőségére később részletesebben kitérünk.)
- Az XHTML oldalak a HTML 4.0 szabványt támogató szerkesztőprogramokkal is
szerkeszthetők
- Az XHTML dokumentumban használhatunk olyan alkalmazásokat (appletek,
szkriptek), amelyek futtatásához szükséges a HTML Document Object Model (DOM)
vagy az XML DOM.
- Az XHTML "család" fejlődésével az XHTML 1.0 kritériumainak megfelelő dokumentumok egyre inkább együtt tudnak működni egymással a különböző XHTML környezetekben.
Ezek alapján elmondható, hogy az XHTML család jelenti a következő lépést az internet fejlődésében.
Különbségek
Nézzük azokat a fontos különbséget, amelyeket figyelembe kell vennünk ahhoz, hogy az általunk készített XHTML állomány valid legyen.
1. Az elemek egymásbaágyazásánál ügyelnünk kell a sorrendre, vagyis az elemek megnyitásának fordított sorrendjében kell elhelyezni a záró elemeket.
Míg a HTML-ben a
<b><u>Vastag, aláhúzott szöveg</b></u>
kód értelmezése sem okoz különösebb problémát a megjelenítő programoknak, az XHTML dokumentumban ugyanez nem
szerepelhet így, helyesen így néz ki a fenti kód:
<b><u>Vastag, aláhúzott szöveg</u></b>
2. Jól formázott dokumentumot kell létrehozni, amely azt jelenti, hogy minden elemet a <html> elemen belül kell elhelyezni. Minden elemnek lehetnek további beágyazott elemei. Ezek az elemek páronként kerülnek megadásra, és ügyelni kell arra, hogy a szülő elembe szabályosan kerüljön beágyazásra (lásd a fenti példát).
A jelenlegi HTML böngészők a szintaktikai hibák felett elsiklanak, illetve megpróbálják kitalálni, hogy mi volt a dokumentum létrehozójának szándéka, amely nem mindig hozza a kívánt eredményt. Vajon mi volt előbb, a szabványokat be nem tartó felhasználók, vagy a szabályoktól eltérő dokumentumokat is megjelenítő böngészők? Az eredmény szempontjából mindegy, a HTML kódok sokszor átláthatatlanok/feldolgozhatatlanok a helytelenül strukturált elemek miatt.
Ezzel szemben az XML alapú böngészők ha nem jól formázott dokumentummal találkoznak, nem tudják feldolgozni azt. Ez kezdetben bizonyára érzékenyen érinti majd a kódszerkesztőket, de a bosszúságok mellett előnye is lesz ennek. Kevésbé robosztus, gyorsabb böngészőprogramokkal tudunk dolgozni.
3. A tag neveket kis betűkkel kell írnunk. Mivel az XML szabvány megkülönbözteti a kis- és nagybetűket a <br> és <BR> tag két különböző dolgot jelölhet.
4. Minden XHTML elemet kötelező lezárni. Vagyis nem írhatjuk a következőt:
<p> Első bekezdés
<p>Második bekezdés
A helyes kód:
<p> Első bekezdés</p>
<p>Második bekezdés </p>
Figyelem! Azon elemek végére, amelyeknek a HTML szabványban nincs záró párjuk (area, base, bgsound, br, col, frame, hr, img, input, isindex, keygen, link, meta, option, param), / karaktert kell tennünk. Pl. <br> helyett <br />, <img src=" /inform/xhtml/"kep.gif">" helyett <img src=" /inform/xhtml/"kep.gif"" /> kódot kell írnunk. (Ahhoz, hogy a dokumentum kompatibilis legyen a jelenlegi böngészőkkel, ne felejtsünk el egy space karaktert is kitenni a / jel elé.
5. A paramétereket kis betűvel kell írnunk.
Rossz: <table WIDTH="250">
Helyes: <table width="250">
6. A paraméterek értékeit "" jelek közé kell zárnunk.
Rossz: <table width=250>
Helyes:<table width="250">
7. Az attribútumok minimalizálása, rövidítése tiltott
Rossz: <input checked>
Helyes: <input checked="checked" />
Az alábbi táblázatban látható, hogy a HTML-ben használt attribútumoknak mi a megfelelője az XHTML-ben.
| HTML | XHTML | HTML | XHTML |
|---|---|---|---|
| compact | compact="compact" | ismap | ismap="ismap" |
| checked | checked="checked" | nohref | nohref=" /inform/xhtml/"nohref"" |
| declare | declare="declare" | noshade | noshade="noshade" |
| readonly | readonly="readonly" | nowrap | nowrap="nowrap" |
| disabled | disabled="disabled" | multiple | multiple="multiple" |
| selected | selected="selected" | noresize | noresize="noresize" |
8. A name attribútumok helyett id attribútumot kell használni.
A name attribútumokat a dokumentumon belüli navigáció és elemazonosítás céljából használják a weblapszerkesztők.
Rossz: <img src=" /inform/xhtml/"kep.gif"" name="kep1" />
Helyes: <img src=" /inform/xhtml/"kep.gif"" id="kep1" />
A régebbi böngészők miatt érdemes egy ideig mindkét attribútumot szerepeltetni, ugyanazon értékkel.
<img src=" /inform/xhtml/"kep.gif"" name="kep1" id="kep1" />
9. Az xml:lang elem szerepeltetése
A HTML-ben a lang attribútum szolgált az adott elem nyelvének megadására. Az XHTML dokumentumokban az xml:lang="érték" elemet is szerepeltetni kell.
Rossz: <div lang="hu" >Hajrá Magyarok</div>
Helyes: <div lang="hu" xml:lang="hu">Hajrá Magyarok</div>
9. Kötelező XHTML elemek
Minden XHTML dokumentumnak rendelkezni kell DOCTYPE deklarációval. A html, head és body elemeknek szerepelniük kell, a title elemnek pedig a head elemen belül kell elhelyezkednie.
Nézzünk egy leegyszerűsített XHTML dokumentumsablont.
<!DOCTYPE ide jön a dokumentumtípus>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Oldalcím</title>
</head>
<body>
Ide jön a tartalom.
</body>
</html>
Figyelem: a DOCTYPE megadása nem része magának az XHTML dokumentumnak, ezért záró eleme sincs, valamint kötelező az első sorban szerepeltetni.
A DOCTYPE
A DOCTYPE definiálja a dokumentum típusát. Az 1.0-s szabványban három dokumentumtípus létezik.
XHTML 1.0 Strict
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
Ezt akkor ajánlatos használni, amikor tiszta (prezentációs lehetőségektől mentes) kódot állítunk elő, és stíluslapokat használunk.
XHTML 1.0 Transitional
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
Ezt akkor érdemes használni, amikor ki akarjuk használni a HTML prezentációs lehetőségeit, vagy amikor olyan böngészőre fejlesztünk, amely nem ismeri a stíluslapokat.
XHTML 1.0 Frameset
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |
A nevéből is következik, hogy ezt akkor használjuk, ha az ablakot több keretre (frame) osztjuk fel.
HTML, XHTML konverzió
De jó is lenne, ha létezne olyan program, amellyel egyszerűen konvertálhatnánk a HTML állományainkat XHTML formába. Természetesen több ilyen alkalmazás is létezik, mi kettőt mutatunk be.
Microsoft Frontpage
Ha valaki a Microsoft Frontpage programmal szerkeszti a honlapjait a következő lépésekkel XHTML formára hozhatja azt.
- Nyissuk meg az adott oldalt a Frontpage programban
- Váltsunk át Kód nézetre
- A jobb egérgomb megnyomása után felbukkanó menüből válasszuk ki az "XML formázási szabályok alkalmazása" menüpontot
- A kód elejére (<html> tag alá) illesszünk be egy érvényes DOCTYPE
definíciót.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - A HTML taget egészítsük ki az XML namespace és nyelv paramétereivel
pl.: <html xmlns="http://www.w3.org/1999/xhtml" lang="hu"> - Amennyiben módosítjuk a dokumentumot, ne felejtsük el az XML formázási szabályokat újra alkalmazni. (3. pont)
HTML Tidy
A HTML Tidy programot (http://tidy.sourceforge.net/#binaries) parancsmódban használhatjuk, de ennek az az előnye is megvan, hogy - akár batch fájlok készítésével - több dokumentumot is egyszerűen átkonvertálhatunk. A program nemcsak konverziós, hanem kódtisztítással kapcsolatos funkciókat is biztosít.
A programot parancssorban használhatjuk. tidy kapcsoló file kapcsoló file formában.
Az elérhető lehetőségekről a tidy -help parancs kiadásával tájékozódhatunk.
Cikkünkben csak a leggyakrabban használt opciókkal foglalkozunk.
| Paraméter | Magyarázat |
| -out file | a kimeneti állomány megadása |
| -modify | az eredeti állományt módosítja |
| -asxhtml | a HTML állományt jól formázott XHTML állománnyá konvertálja |
| - f file | a feldolgozás során jelentkező hibák kiírása a megadott állományba |
| -latin1 | ISO-8859-1 karakterkódolás használata |
| -utf8 | UTF8 karakterkódolás használata |
| -utf16 | UTF16 karakterkódolás használata |
Példa:
Alakítsuk át a pelda.html állományunkat XHTML formátumba, pelda2.html néven. A feldolgozás közben előforduló hibák kerüljenek a hiba.txt állományba. A karakterkódolás legyen UTF8-as.
tidy -f hiba.txt -asxhtml -utf8 -o pelda2.html pelda.html
| Eredeti kód | Konvertált kód |
| <html> <head> <meta http-equiv="Content-Language" content="hu"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> </head> <body> <p>Csak az teszteljük,<br> hogy mi történik az átalakítás során....</p> </body> </html> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="generator" content= "HTML Tidy for Windows (vers 1st December 2004), see www.w3.org" /> <meta http-equiv="Content-Language" content="hu" /> <meta http-equiv="Content-Type" content= "text/html; charset=utf-8" /> <title></title> </head> <body> <p>Csak az tesztelj�k,<br /> hogy mi t�rt�nik az �talak�t�s sor�n....</p> </body> </html> |
Önellenőrzés
Aki ellenőrizni szeretné a tudását cikkünk témájával kapcsolatban, töltse ki on-line tesztünket.
Módszertani ajánló
| tantárgy | informatika |
| témakör | honlapszerkesztés, szabványok |
| évfolyam/korosztály | 12. évfolyam |
| módszer | Az HTML és XHTML szabvány közti különbségek bemutatása (prezentáció), kód konvertálásához szükséges módszerek ismertetése |
| idő | 20 perc |
| célok | A tanulók találkozzanak különböző szabványokkal, ismerjék meg a különbségeket, illetve ismerjenek átalakítási/konvertálási módokat/eszközöket is. |
| tanulási helyzet | A tanulók az XHTML szabvány megismerése után néhány HTML példaállományt átalakítanak, majd tetszőlegesen választható eszközzel ellenőrzik, hogy a dokumentum tartalma megfelel-e a nyelv szabályainak. |
| szükséges | számítógépterem, kivetítő, internetkapcsolat |
| szerző | Abonyi-Tóth Andor |
| cím | http://www.sulinet.hu/tart/ncikk/ae/0/24761/index.html |
Abonyi-Tóth Andor




