Ugrás a fő tartalomra

HTML- ből az XML felé és tovább a GeoXML -en túlra

 HTML




















A HTML 4 egy SGML (Standard Generalized Markup Language) alkalmazás, amely megfelel az ISO 8879 előírásainak és széleskörűen elfogadott, mint a World Wide Web általános közlési nyelve.
Az SGML a leíró nyelveket (Markup Languages) leíró (describe) nyelv ( 🙂 – a ford.), különösen az elektronikus dokumentumcserében, dokumentumkezelésben és dokumentum közzétételben használatosaké. A HTML az SGML-ben meghatározottak egyik nyelvmegvalósítása.
Az SGML az 1980-as évek közepe felé született és meglehetősen stabil maradt. Rendkívüli stabilitása onnan fakad, hogy a nyelv tulajdonság-gazdag és rugalmas. Ez a rugalmasság viszont bármennyire is értékes, hiába ellensúlyozza bonyolultságát. Bonyolultsága meggátolta abban, hogy a World Wide Web -hez hasonló változatos körülmények között lehessen alkalmazni.
Az eredeti elgondolás szerint a HTML tudományos és más technikai dokumentumok cseréjének a nyelve, olyan felhasználóknak, akik nem kifejezetten dokumentum-specialisták. A HTML megoldotta az SGML bonyolultság-problémáját is, mivel a strukturáló és szemantikai elemeknek csak kis készletét használta, így a szerzők viszonylag egyszerű dokumentumokat hozhattak létre. Ezenkívül, a dokumentumstruktúra egyszerűsítése céljából a HTML kiterjesztette a hypertext támogatást. A multimédiás kpességek a későbbi fejlesztések eredményei.
A HTML figyelemreméltóan rövid idő alatt széles körben népszerűvé vált és gyorsan túlhaladta az eredeti célt. A kezdetek óta gyorsan fejlődtek az új, HTML-ben használható elemek, egyre több volt köztük a speciális célra alkalmas. Az új elemeknek ez a bősége kompatibilitási problémákat okozott a dokumentumok platformok közötti adaptációja során.
Ahogy a szoftverek és a platformok közötti heterogenitás elszaporodott, kiderült, hogy a ‘klasszikus’ HTML 4 alkalmassága különböző platformokra igencsak korlátozott.

 XML

Az XMLTM az Extensible Markup Language (Kiterjeszthető Leíró Nyelv) (kezdő)betűiből alkotott betűszó.
Az alapelgondolás szerint az XML feladata visszanyerni az SGML erjét és hatékonyságát, annak bonyolultsága nélkül. Bár szűkített formája az SGML-nek, megőrzi az SGML erejének és gazdagságának javát, megtartva az SGML összes általánosan használt tulajdonságát.
Míg megtartja az előnyös tulajdonságokat, az XML elveti az SGML bonyolult sajátoságait, ez nehézzé és költségessé teszi az fejlesztésre alkalmas szoftverek előállítását.

Miért szükséges az XHTML?

A fentiekben részleteztük az XHTML 1.0 -ra történő áttérés előnyeit. A következőkben felsorolunk még néhányat közülük:
  • A dokumentumfejlesztők és böngészőtervezők folyamatosan kutatják az új kifejezési lehetőségeket. Az XML-ben viszonylag könnyű új elemet, vagy attribútumot bevezetni. Az XHTML család úgy lett tervezve, hogy ezeket a kiterjesztéseket hozzáillessze az XHTML modulokon és technikákon keresztül az újonnan kifejlesztendő XHTML-konform modulokhoz. Ezek a modulok lehetővé teszik a létező és új tulajdonság-készletek kombinációját a tartalomfejlesztés és böngészőtervezés során.
  • Folyamatosan kerülnek bevezetésre alternatív megoldások az internethez történő hozzáférésre. Néhány előrejelzés szerint 2002-re az internetes dokumentumok 75%-át ezeken az alternatív platformokon fogják megtekinteni. Az XHTML család úgy lett tervezve, hogy együttműködjön a legjobban elterjedt böngészőkkel. Egy új böngészőtől kezdve a dokumentumprofil kialakításán át a szerverekkel, proxykkal, meglevő böngészőkkel bezárólag valamennyi eszköz a legjobb teljesítménnyel végezheti el a tartalom átalakítását. Végül, lehetséges lesz XHTML-konform tartalmat fejleszteni, amely használható lesz bármely XHTML-konform böngészővel


 Egy kis terminológia

Jelen specifikációban a következő kifejezések használatosak. Ezek a fejezet a kifejezések RFC 2119-ben írt definícióit adják meg, az ISO/IEC 9945-1:1990 (POSIX.1) alapján.
  • Alkalmazásmód által meghatározott (Implementation-definied)
    Egy érték, vagy viselkedés akkor alkalmazásmód által meghatározott, ha az alkalmazási módra hagyja a helyes dokumentumszerkezethez szükséges követelmények meghatározását.
  • Lehet (May)
    A “lehet” szóval jelzett tulajdonságok és eljárások használata jelen specifikáció szerint nem követelmény, hanem megengedett. Az “opcionális” kifejezés jelen specifikációban a “lehet” szinonímája.
  • Kell (Must)
    Jelen specifikáció alkalmazása során, vagy a szűkített megfelelésű XHTML 1.0 dokumentumokkal kapcsolatban a “kell” szó kötelező érvényű követelményt jelent (a “shall” a “kell” (must) szinonímájaként alkalmazandó).
  • Fenntartott (Reserved)
    A “fenntartott” jelzővel ellátott érték, vagy viselkedés nem meghatározott, de használata nincs engedélyezve a specifikációnak megfelelő dokumentumokban, és a megfelelő böngészők sem támogatják.
  • [Feltételes] (Should)
    Jelen dokumentumban használata ajánlásként van értelmezve, nem követelményként. A dokumentumokkal kapcsolatban ajánlott programozási gyakorlatként, illetve a szűkített megfelelésű XHTML dokumentumok esetén követelményként értendő.
  • Támogatott (Supported)
    Jelen specifikációban bizonyos tulajdonságok opcionálisak. Ha a tulajdonság támogatott, úgy viselkedik, ahogy e specifikációban írva van.
  • Meghatározatlan (Unspecified)
    Mikor egy érték, vagy viselkedés nem meghatározott, a specifikáció alkalmazására és a tulajdonság alkalmazására nem hordozható (csak egy dokumentumban alkalmazható) követelményeket ír elő. A dokumentum, amelyiknek az adott viselkedésre szüksége van, nem lehet szűkített megfelelésű XHTML dokumentum.

Általános kifejezések

  • Attribútum (attribute)
    Egy attribútum a DTD-ben leírt elem paramétere. Egy attribútum típusa és értékhatára, ideértve a lehetséges alapértelmezett értékeket is, a DTD-ben van leírva.
  • DTD
    A DTD, vagyis Document Type Declaration (dokumentumtípus deklaráció) XML deklarációk gyűjteménye; meghatározza az érvényes dokumentumstrutúrát, azokat az elemeket és attribútumokat, amelyek elérhetők a DTD-ben írtaknak eleget tevő dokumentumokból.
  • Dokumentum (document)
    A dokumentum egy adatfolyam, amely kombinálható más – nem szöveges – adatokkal, amelyekre hivatkozik. Szerkezete úgy van kialakítva, hogy információkat tartalmaz azokról az elemekről, amelyek a hozzárendelt DTD szerint vannak szervezve.
  • Elem (element)
    Az elem egy dokumentum-strukturáló egység, amely a DTD-ben van deklarálva. Az elemek tartalommodellje a DTD-ben van definiálva, kiegészítő jelentés definiálható hozzá az elem szöveges leírásában.
  • Lehetőségek (facilities)
    A funkcionalitás tartalmaz elemeket, attribútumokat, és a jelentések hozzá vannak rendelve azokhoz az elemekhez és attribútumokhoz. Egy megvalósítás azt a működést támogatja, amelyik biztosítja a szükséges lehetőségeket.
  • Megvalósítás (implementation)
    A megvalósítás egy rendszer, amely olyan tulajdoságok és szolgáltatások gyűjteményét nyújtja, amelyek támogatják ezt a specifikációt. További információért lásd a Böngészők megfelelése fejezetet.
  • Értelmezés (parsing)
    Az értelmezés az a folyamat, amelynek során a dokumentum átvizsgálásra kerül és a dokumentumban található információk azon elemekkel való összefüggésükben kerülnek szűrésre, amelyek szerint az információ strukturálva van.
  • Kirajzolás, megjelenítés (rendering)
    A kirajzolás az a folyamat, amelynek során a dokumentum információtartalma megjelenítésre kerül. A megjelenítás akkor van készen, ha a megjelenített forma a legjobban megfelel a környezeti lehetőségeknek.
  • Böngésző (User Agent)
    Jelen fordításban böngészőnek nevezünk minden eszközt, amely képes fogadni, feldolgozni és megjeleníteni az XHTML dokumentumokat. További információért lásd a Böngészők megfelelése fejezetet.
  • Érvényesítés (validation)
    Az érvényesítés az a folyamat, amelynek során a dokumentumok ellenőrzésre kerülnek a hozzájuk tartozó DTD-ben foglalt, elemekre és attribútumokra érvényes előírások szerint.
  • Jól formázott (well-formed)
    Az a dokumentum jól formázott, amelynek struktúrája megfelel az XML 1.0 Ajánlás 2.1 pontjában meghatározott szabályoknak. Alapvetően, ez a meghatározás azt fejezi ki, hogy az elemek (kezdő- és záró címkéjükkel [tag]) megfelelően vannak másik elembe ágyazva.

Szűkített megfelelésű dokumentumok

Szűkített megfelelésű dokumentumok azok a dokumentumok, amelyek csak azon tulajdonságok meglétét követelik meg, amelyeket jelen specifikáció kötelezőként jelöl meg. Egy ilyen dokumentumnak meg kell felelnie a következő követelmények összeségének:
  • A dokumentumban – gyökér-elemet megelőzően – DOCTYPE deklarációt kellelhelyezni. A DOCTYPE deklarációban található közös azonosítónak az A Függelékben található három DTD közül az egyikre hivatkoznia kell. A rendszer-azonosító a helyi kívánalmakoz igazítható.
  • <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “DTD/xhtml1-strict.dtd”>
    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “DTD/xhtml1-transitional.dtd”>
    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN” “DTD/xhtml1-frameset.dtd”>
A következőkben bemutatunk egy példát egy minimális XHTML dokumentumra:
<?xml version=”1.0″ encoding=”UTF-8″?><!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “DTD/xhtml1-strict.dtd”><html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”hu” lang=”hu”>  <head>    <title>Virtuális Könyvtár>/title>  </head><body>  <p>Elköltöztetve a <a href=”http://www.vlib.org”>vlib.org</a> címre.</p></body></html>
Megjegyzendő, hogy a fenti példa XML deklarációt is tartalmaz. A fentihez hasonló XML deklaráció nem megkövetelt minden XML dokumentumban. Az XML deklaráció használata mindamellett erősen javasolt az XHTML dokumentumok szerzői számára. Az XML deklaráció kötelező minden olyan eseben, ha a dokumentum karakterkódolása eltér az alapértelmezett UTF-8, vagy UTF-16 -tól.

 Az XHTML használata más névhelyekkel

Az XHTML névhely használható más XML névhelyekkel, bár így a dokumentum már nem felel meg a szűkített megfelelésű XHTML dokumentumok követelményeinek. A jövőben a W3C kidolgozza azokat a lehetőségeket, amelyek sgítségével meghatározható a dokumentumok megfeleltetése, amelyek többszörös névhelyeket foglalnak magukban.
A következő példa megmutatja, hogyan lehet egyesíteni az XHTML 1.0 -t és a MathML Ajánlást:
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”hu” lang=”hu”>  <head>    <title>MathML példa>/title>  </head><body>  <p>Következik a MathML leíró</p>    <math xmlns=”http://www.w3.org/1998/Math/MathML”>      <apply> <log/>        <logbase>          <cn> 3 </cn>        </logbase>        <ci> x </ci>      </apply>    </math>  </body></html>
A következő példa azt mutatja be, hogyan használható az XHTML 1.0 jelölői között más XML névhely:
<?xml version=”1.0″ encoding=”UTF-8″?><!– kezdetben az alpértelmezett névhely a “book” –><book xmlns=’urn:loc.gov:books’    xmlns:isbn=’urn:ISBN:0-395-36341-6′ xml:lang=”en” lang=”en”>  <title>Cheaper by the Dozen</title>  <isbn:number>1568491379</isbn:number>  <notes>    <!– Legyen az alapértelmezett hypertext comment névhely a HTML –>    <p xmlns=’http://www.w3.org/1999/xhtml’>        Online <a href=”http://www.w3.org/”>elérhetőség</a>.    </p>  </notes></book>

  • Az XML-ben a következő karaktrek vannak ‘köz’-ként (whitespace) definiálva:
    • Space (szóköz) – &#x0020 / ASCII 32
    • Tab (tabulátor) – &#x0009 / ASCII 09
    • CR (kocsivissza) – &#x000D / ASCII 13
    • LF (soremelés) – &#x000A / ASCII 10
  • Ezenkívül az XHTML kompatibilis böngészőnek ‘köz’-ként kell értelmeznie az alábbi karaktereket is:
    • Form-feed (lapemelés) – &#x000C
    • Zero-width space (nulla-végű szóköz ) – &#x200B

 Elemek és attribútumok írásmódja

Az XHTML dokumentumokban valamennyi HTML elem és attribútum nevét kisbetűvel kell írni. Ezt a különbséget komolyan figyelembe kell venni, mivel az XML kis- és nagybetűérzékeny, ezért a <li> és a <LI> külön címkének minősül.

Kezdő és záró címkék kötelezősége

Az SGML alapú HTML 4 bizonyos elemeknél megengedte a záró címkék elhagyását; a következő elem kezdete zárta az előzőt. Ez a mulasztás az XML alapú XHTML-ben nincs megengedve. Minden elemnek, amely a DTD-ben nem empty-ként (üres) van deklarálva, rendelkezni kell záró címkével is.
HELYES: lezárt elemek
<p>ez egy bekezdés.</p> <p>ez egy másik bekezdés</p>HELYTELEN: nem lezárt elemek
<p>ez egy bekezdés. <p>ez egy másik bekezdés

Attribútum-értékek használati módja

Valamennyi attribútum értéket idézőjelben kell szerepeltetni akkor is, ha értékük numerikus.
HELYES: idézőjeles attribútum érték


<table rows="3">
HELYTELEN: idézőjel nélküli attribútum érték


<table rows=3>

 Az attribútumok lerövidítése

Az XML nem támogatja az attribútumok lerövidítését. Az attribútum-érték párokat teljesen ki kell írni. Az attribútum nevek, mint a compact és a checked nem fordulhatnak úgy elő, hogy értékük ne lenne meghatározva.
HELYES: teljes attribútum
<dl compact="compact">


HELYTELEN: lerövidített attribútum
<dl compact>

 Az üres elemek használata

Az üres elemeknek vagy záró címkéiknek kell lennie, vagy a kezdő címkét kell egy / jellel lezárni <br/>, vagy <hr></hr>.
HELYES: lezárt üres tag
<br/> <hr/>


HELYTELEN: lezáratlan üres tag
<br> <hr>

‘Köz’-ök kezelése

Az attribútum-értékekben a böngészők levágják a kezdő és záró ‘köz’-karaktereket, a ‘köz’-karakterek sorozatát pedig egy szóközzé (ASCII Szóközkarakter) konvertálják.

Script és Style elemek

Az XHTML-ben a stílus- és script elemek definiálásuk szerint #PCDATA tartalommal rendelkeznek. Ennek eredményeképp a < és & karakterek jelölő kezdeteként vannak értelmezve, egyedeiket (&lt;&amp) az XML értelmezők egyedhivatkozásként ismerik fel. Egy script, vagy stíluselem tartalmának CDATA jelölésű részbe csomagolásával elkerülhető ezen egyedek kibontása.
<script>
  <![CDATA[
  ... script tartalom ...
  ]]>
</script>
CDATA részeket az XML értelmező felismeri, a Dokumentum Objektummodellben [DOM] csomópontként jelennek meg. Alternatív lehetőségként használhatóak a külső stílusok és scriptek.

 SGML kivételek

Az SGML megadja a lehetőséget a DTD írójának, hogy meghatározott elemek használatát kizárja valamely elemből. Ilyen tiltási lehetőségek (kivételek) az XML-ben nem lehetségesek.
Példaként: a HTML 4 Strict DTD megtiltja az a elemek bármilyen mértékű egymásba ágyazását. Ilyen tiltások az XML-ben nem írhatók le. Mindamellett, hogy a DTD-ben ilyen tiltások nem szerepelhetnek, bizonyos elemeket valóban nem lehet egymásba ágyazni.

Az ‘id’ és ‘name’ attribútumok

A HTML 4 definiálta az a, applet, form, frame, iframe, img és map elemkhez használható name atttribútumot. Szintén a HTML 4 vezette be az id attribútumot. Mindkét attribútum a dokumentumon belüli navigációhoz lett tervezve, részazonosítóként.
Az XML-ben a részazonosító típusa ID és elemenként egy ID típusú attribútum használható. Ezért az XHTML 1.0 -ban az id attribútum lett ID típusúként definiálva. Tehát annak érdekében, hogy az XHTML 1.0 dokumentum valóban jól strukturált XML dokumentum legyen, az XHTML 1.0 dokumentumokban az id attribútumot KELL használni részazonosítóként azoknál az elemknél is, amelyeknél hagyományosan a name attribútum volt használva.

Szabályok

is.
a
nem
 tartalmazhatja másik a elem.
pre
nem tartalmazhatják az img, object, big, small, sub, sup elemek.
button
nem tartalmazhatják az input, select, textarea. label, button, form, fieldset, iframe, isindex elemek.
label
nem tartalmazhatja másik label elem
form
nem tartalmazhatja másik form elem.

Ha a stíluslap a <, &, ]]>, vagy -- karakter(együttes)ek valamelyikét is használja, külső stíluslap használandó. Ha egy script a <, &, ]]>, vagy -- karakter(együttes)ek valamelyikét is használja, külső scriptet kell használni. Megjegyzendő, hogy az XML értelmezők figyelmeztetés nélkül figyelmen kívül hagyhatják a ‘comment’ jelek közé írt tartalmat. Ezért a stíluslapok és scriptek hagyományos megjegyzésjelek közé ‘elrejtési’ gyakorlata, amely a dokumentumot visszafele kompatiblissé teszi, nem működik megfelelően az XML alapú megvalósítások esetén.

GeoXML

A GeoXML olyan sztandardizált XML, amely speciálisan földrajzi helyek és/vagy pontok,
objektumok leírására fejlesztettek ki. Elsődlegesen az adott földrajzi hely szélességi és
hosszúsági koordinátákat tartalmaz, de természtesen lehetőség van speciális,
ún. meta-adatok elhelyezésére is a dokumentumon belül.
Tehát minden olyan adatot, amit a későbbiekben a térképen kívánunk elhelyezni
és szeretnénk megjeleníteni, ilyen geoXML fájlban kell definiálnunk,
ugyanis ezt a formátumot képes a Google Maps rendszere hibátlanul feldolgozni és értelmezni.

Megjegyzések