A Hypertext Markup Language az a nyelv, aminek segítségével Web oldalakat hozhatunk létre. Ellentétben egyéb szövegszerkesztõkkel, (What-you-see-is-what-you-get), ahol a szöveg már bevitelkor megformázott állapotban van, a HTML csak azt határozza meg, hogyan nézzenek ki bizonyos szövegrészek. A HTML oldal szerkesztõje nem látja, hogyan fog megjelenni a szöveg, illetve a szerkesztendõ dokumentum, az csak akkor lesz ténylegesen megformázva, amikor az olvasó böngészõjében megjelenik az elkészült és letöltött oldal. (Itt szeretném megjegyezni, hogy manapság már léteznek olyan HTML szerkesztõk, amikben már akár úgy is szerkeszthetünk HTML oldalakat, mint a fent említett „Amit látsz, azt kapod" típusú szövegszerkesztõkkel.) Másrészrõl viszont nem is lehetséges az összes formázást elõre megadni, mert a tényleges megjelenés nagyban befolyásolják az olvasó böngészõjében a különbözõ ablaknagyságok és betûkészletek. A HTML oldalaknak nincsen speciális fájlformátuma, mint például a Word dokumentumoknak, mert ezek csak egyszerû, folyamatos ASCII szövegek. Így ritkán léphetnek fel kompatibilitási problémák, akár a Word6 és Word7 dokumentumai között, másrészrõl pedig az alkotók szándéka szerint emberi szemmel is olvasható az elkészült dokumentum. A másik probléma, amit az ASCII formátum megold az, hogy az Internetet eredetileg 7 bites ASCII szövegek átvitelére tervezték, ezzel szemben az összes bináris formátum 8 bites. Így egy formátumleíró nyelv vált szükségessé, aminek számos elõnyét élvezhetjük:
A HTML oldalakat a böngészõprogram csak megjelenítéskor formázza meg, ez csökkenti a hálózat terheltségét és interaktivitás lehetõségét hordozza magában.
Az ASCII kódolás miatt ezeket a dokumentumokat gond nélkül lehet terjeszteni különféle felépítésû és processzorú számítógépeken.
HTML oldalak elõállítása gyakorlatilag mindenféle szövegszerkesztõvel lehetséges.
Az SGML (Standard Generalized Markup Language, amelyet magyarra általános szabványos kijelölõ nyelvkénk fordíthatunk) kialakulása a hetvenes-nyolcvanas évekre nyúlik vissza. Kidolgozásának mozgatórugója az volt, hogy az erõsen számítógépesített, nagyobb és több részlegbõl álló vállalatok hamar megtapasztalták: az elektronikus formában érkezõ dokumentumok egységes gépesített feldolgozása lehetetlen. Ennek az oka nem csak a dokumentumok formátumbeli eltérése volt, hanem belsõ szerkezetük heterogenitása és a dokumentumok elemeinek azonosítatlansága is. A probléma megoldására született SGML 1986 óta nemzetközi ISO szabvány (ISO 8879:1986). Az SGML az IBM-nél már korábban is használatos GML továbbfejlesztése. A szabvány két fõ részbõl áll: az információ szerkezetének megadására szolgáló metanyelvbõl és az SGML dokumentumok tárolási formátumának leírásából. Az SGML szabvány nem rendelkezik az információ megjelenítésérõl. Erre jelenleg egyéb szabványok, illetve eszközfüggõ egyéni megoldások használatosak. Az SGML technológi alkalmazásakor az egyik leglényegesebb feladat a dokumentumok típusokra osztásaés ezen típusok szerkezetének leírása, azaz DTD - dokumentumtípus-definíció - elkészítése. Erre szolgál az SGML szabványban rögzített metanyelv. A DTD úgynevezett tartalmazási modellje megadja azt, hogy az adott típusú dokumentum milyen kötelezõ vagy opcionális elemekbõl áll. A DTD leírja továbbá az elemekhez rendelhetõ attribótumokat, hivatkozásokat a dokumentumon belüli és kívüli objektumokra. Ugyancsak a DTD adja meg az úgynevezett entity-ket, amelyek speciális karakterek, hosszabb sztringek, és az állományon kívüli szövegrészek, elemcsoportok, képek, táblázatok, stb. jelölésére szolgálnak.
A HTML kódnak két fõ része van, az egyik maga a megjelenítendõ szöveg, amelynek nincs megkülönböztetõ jelölése, a másik rész az utasítás. Ezeket az utasításokat "<" és ">" jelek közé kell tenni, hogy elkülönüljenek a kiírandó szövegtõl. Az ilyen utasítást nevezzük elemnek. Kétféle utasításcsoportot különböztetünk meg egymástól, az egyik egy szövegrészre vonatkozik, a másik egy pontra. A szövegrészre vonatkozó elemeknek van egy nyitó és egy záró részük. A lezáró rész ugyanaz, mint az utasítás rész azzal a különbséggel, hogy utasítás elõtt tartalmaz egy "/" jelet is. Ezeket az elempárokat (nyitó-záró) nevezzük TAG-eknek. Az utasításoknak lehetnek paramétereik is, ezeket az elemet lezáró ">" jel elõtt kell leírni. A lezáró tag-ben már nem szerepel paraméter. Azonban nincsen minden HTML tag-nek hozzátartozó bezáró tag-je. Egy általános utasítás a következõképpen néz ki:
A paraméterek az utasítás neve után tetszõleges sorrendben követhetik egymást. A megadásuknál az idézõjel vagy aposztróf megadása nem kötelezõ, viszont a jobb olvashatóság érdekében ajánlatos. Az utasítások és szövegek közé írt szóközök nem befolyásolják a szöveg megjelenését, ezeket külön erre a célra fenntartott utasításokkal lehet elérni. Szövegekre vonatkozó utasításokat egymásba is lehet ágyazni a következõ módon: <UTASÍTÁS1>Mici Mackó<UTASÍTÁS2> szereti</UTASÍTÁS2>a mézet.</UTASÍTÁS1>. Ilyen esetekben nagyon fontos, hogy az utasítások szabályos struktúrában szerepeljenek és ne legyenek átfedõ utasítások, mert azok nem definiált megjelenést eredményezhetnek, ezért más típusú megjelenítõkön más és más képet nyújthat az oldal. A HTML nyelv nem különbözteti meg a kis és nagy betûket az utasításokban, így csak rajtunk múlik, hogyan írjuk õket. A HTML dokumentumokban elhelyezhetünk olyan részeket, amik nem jelennek meg az oldal olvasásakor, vagy egyes részeihez megjegyzéseket fûzhetünk. Ezeket a megjegyzéseket <!-- és --> tag-ek közé zárjuk. A kommentálandó szöveg jelölésére használhatjuk még a <COMMENT>…</COMMENT> tag-et is.
A HTML oldalak mind ugyanarra a vázra épülnek:
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> Fejléc </HEAD> <BODY> Az oldal tartalma </BODY> </HTML>
A HTML dokumentumok elsõ sorában a használt HTML nyelv verziószámát írjuk le, hogy a böngészõk ennek megfelelõen tudják kezelni a dokumentumban elhelyezett utasításokat. Általános követelmény a megjelenítõkkel szemben, hogy amennyiben nem képesek az adott szintû specifikációnak megfelelni, akkor a nem ismert utasításokat figyelmen kívül hagyva jelenítsék meg a lapot. Természetesen a nem ismert utasítások közötti szövegtartalmat is megjelenítik, legfeljebb formázatlanul. A fenti példa elsõ sora arra utal, hogy HTML 4.0 specifikációjú dokumentum, amely tartalmaz stíluslapokra vonatkozó információkat is.
A <HTML> elem (tag) tartalmazza a HTML dokumentum összes elemét. Használata nem kötelezõ, de a jobb áttekinthetõség érdekében ajánlott. Az oldal fejlécbõl és tartalmi részbõl áll. A <HEAD>…</HEAD> fejléc adatokat tartalmaz az oldalról, a <BODY>…</BODY> dokumentum testében pedig a megjelenítendõ információ helyezkedik el. A HTML tag-ek közül megkülönböztetünk olyanokat, amiket csak fejlécben, és olyanokat, amiket csak testrészben alkalmazhatunk.
Egy oldal fejlécében az ún. metainformációk találhatóak, amik magára az oldalra vonatkoznak. Az egyik ilyen és legegyszerûbb tag a <TITLE>…</TITLE>, amivel a dokumentum címét lehet megadni. A címben nem lehet szövegkiemeléseket alkalmazni, azaz nem lehet a szöveg egyes részeit tag-ekkel kiemelni. A cím általában maximum 64 karakterbõl állhat, különleges jeleket is tartalmazhat és mivel sok keresõprogram a címben leírtak alapján jelez találatot, ezért a cím a dokumentum tartalmára vonatkozóan sokatmondó kell, hogy legyen.
Az egyes dokumentumokra az URL-jükkel hivatkozhatunk. Az URL (Uniform Resource Locator) nem más, mint egy egységes dokumentum-meghatározó rendszer az Interneten. Ennek a segítségével leírhatjuk az Interneten fellelhetõ összes dokumentum pontos elérési útját. Az URL-t három fõ részre oszthatjuk fel:
Protokoll (a dokumentum elérési módjai).
Ezek a módok általában a következõk:
file:// Ezt a módot akkor használjuk, mikor az elérendõ dokumentumot hálózati kapcsolat nélkül a saját gépünkrõl szeretnénk használni.
ftp:// File Transfer Protocol. Segítségével adatokat tölthetünk le az erre lehetõséget adó számítógépekrõl bináris vagy ASCII formátumban.
http:// HyperText Transfer Protocol. Ez a protokoll teszi lehetõvé a különféle HTML oldalak és a hozzájuk tartozó fájlok letöltését.
gopher:// A Web elõdjének tekinthetõ szöveges alapú menüvezérelt rendszer.
stb.
A dokumentumot tartalmazó számítógép neve (host és domain név). Ezt megadhatjuk a jól ismert www.szerver.org vagy www nélkül attól függ, hogy a fentiek közül melyik protokollt használjuk éppen, illetve a nem túl emberbarát megoldást választva, az elérni kívánt számítógép IP számával is (pl.: 192.168.50.16)
A dokumentumhoz vezetõ elérési út ezen a számítógépen. Pl.: c:/public/html/index.html
A HTML dokumentumok nemzetközibbé tétele érdekében mód van különféle metainformációk segítségével annak a jelölésére, hogy az milyen nyelven illetve milyen irányban íródott. Különféle nyelvterületekhez különbözõ nyelvû dokumentumokat készíthetünk. A metainformációk általában a dokumentum tartalmára vonatkoznak, ezenkívül segítenek a keresõknek az oldal hatékony megtalálásában. Amikor több nyelvfüggõ informació létezik egy oldalra vonatkozóan, a keresõk a LANG paraméter alapján kinálják fel a megfelelõt a felhasználónak. Például:
<-- Amerikai angolt beszélõknek -->
<META name="keywords" lang="en-us"
content="vacation, Greece, sunshine">
<-- Britt angolt beszélõknek -->
<META name="keywords" lang="en"
content="holiday, Greece, sunshine">
<-- Franciául beszélõknek -->
<META name="keywords" lang="fr"
content="vacances, Grèce, soleil">
<-- Magyarul beszélõknek -->
<META name="keywords" lang="hu"
content="nyaralás, Görögország,
napsütés">
A LANG paraméter szinte bármelyik elemhez kapcsolható, segítségével meghatározhatjuk az adott elemen belül elhelyezett információ nyelvét. Ezt kétbetûs betûkódokkal [1] tehetjuk meg:
Mindezeken túl a megjelenítendõ szöveg kiíratásának az irányát is meghatározhatjuk a DIR paraméterrel. Ez két lehetséges értéket vehet fel: LTR-balról jobbra és RTL-jobbról balra. Az alábbi rövid példában egy héber idézetet jelenítünk meg:
<HTML lang="hu"> <BODY> ...Magyar nyelvû szöveg... <Q lang="he" dir="rtl">...Héber nyelvû szöveg...</Q> ...Magyar nyelvû szöveg... </BODY> </HTML>
A HTML dokumentumokat alapvetõen három fõ részre tagolhatjuk. Az elsõ részben a szövegben használt HTML verziószámot adjuk meg. A második rész egy fejléc rész, ami az egész dokumentumra jellemzõ adatokat tartalmazza, valamint a harmadik rész, ami a megjelenítendõ oldalt írja le.