Tartalmi kivonat
Az XHTML Mi az XHTML? • • • 1.1 Mi a HTML 4? 1.2 Mi az XML? 1.3 Miért szükséges az XHTML? Az XHTML a jelenlegi és jövőbeni dokumentumtípusok és modulok családjába tartozik, amelyek reprodukálják, kiegészítik, illetve kiterjesztik a HTML 4-et. Az XHTML családba tartozó dokumentumtípusok XML alapúak, mivel együtt kell működniük az XML alapú böngészőkkel. A dokumentumcsalád részletezése és fejlődésének részletesebb leírása A jövő tervei című fejezetben találhatók. Az XHTML 1.0 (ez a specifikáció) az első dokumentumtípus az XHTML családban Az XHTML a HTML 4 három dokumentumtípusának XML alapú továbbfejlesztése. Ez a dokumentumtípus azon dokumentumok nyelvéül lett szánva, amelyek olvashatóak XMLkompatibilis, és néhány egyszerű irányelv betartásával HTML 4 kompatibilis böngészővel is. Azok a fejlesztők, akik dokumentumaikat ezentúl XHTML 1.0 formátumban teszik közzé, a következő előnyöket élvezhetik: •
• • • Az XHTML dokumentumok megfelelnek az XML előírásainak. Könnyedén megtekinthetők, szerkeszthetők és érvényesíthetők a standard XML eszközökkel. Az XHTML dokumentumok ugyanolyan jól szerkeszthetőek korábbi, HTML-4-et támogató felhasználói alkalmazásokkal, mint az új, XHTML 1.0-t támogató felhasználói programokkal. Az XHTML dokumentumok hasznosíthatják az alkalmazásokat (scripteket és appleteket), amelyek futtatásához szükséges vagy a HTML Document Object Model (DOM), vagy az XML Document Object Model Ahogy az XHTML család fejlődik, az XHTML 1.0 kritériumainak megfelelő dokumentumok egyre jobban együtt tudnak működni különböző XHTML környezetekben. Az XHTML család a következő lépés az internet fejlődésében. Az XHTML-re való áttéréshez a tartalomfejlesztők beléphetnek az XML világába, élvezhetik az ezzel járó előnyöket és biztosak lehetnek abban, hogy közkinccsé tett oldalaik visszafelé és előrefelé
is kompatibilisak maradnak. 1.1 Mi a HTML 4? 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. 1.2 Mi az 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. 1.3 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. HTMLinfo => XHTML 1.0 referencia => Definíciók Definíciók • • 2.1 Terminológia 2.2 Általános kifejezések 2.1 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. 2.2 Á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. Normatív definíciók • • 3.1 Dokumentumok megfelelése o 3.11 Szűkített megfelelésű dokumentumok o 3.12 Az XHTML használata más névhelyekkel 3.2 Böngészők megfelelősége 3.1 Dokumentumok megfelelése Az XHTML jelen verziója a szűkített megfelelésű XHTML dokumentumok definícióját nyújtja, amely az XHTML tag-ek és attribútumok névhelyeinek használatára van korlátozva. Az XHTML más névhelyekkel történő használatához lásd a 3.12 Fejezetet 3.11 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: • • • • 1. Meg kell felelnie az A Függelékben leírt
három DTD egyikének 2. A dokumentum gyökérelemének (root) a <html>-nek kell lennie 3. A dokumentum gyökérelemének az xmlns attribútum használatával jelölnie kell az XHTML névhelyeket. Az XHTML névhelyek definíciója a http://www.w3org/1999/xhtml címen érhető el 4. A dokumentumban - gyökér-elemet megelőzően - DOCTYPE deklarációt kell elhelyezni. 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 rendszerazonosító a helyi kívánalmakoz igazítható <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1strictdtd"> <!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/xhtml1strictdtd"> <html xmlns="http://www.w3org/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.vliborg">vliborg</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. 3.12 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.w3org/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.w3org/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.w3org/1999/xhtml> Online <a href="http://www.w3org/">elérhetőség</a> </p> </notes> </book> 3.2 Böngészők megfelelősége Egy XHTML-nek megfelelő böngésző maradéktalanul kielégíti a következő követelményeket: • 1 Azért, hogy az XML 1.0 ajánlással [XML] konzisztens legyen, a böngészőknek az XHTML dokumentumot helyesen-formázotként kell szintaktikailag elemezniük és kiértékelniük. Ha a böngésző érényesítő felhasználói alkalmazás kíván lenni, akkor • • • • • •
• • érvényesítenie kell a dokumentumokat az [XML]-nek megfelelően, a dokumentumok által hivatkozott DTD-k szerint. 2 Ha egy böngésző támogatni kívánja azokat a lehetőségeket, melyek ebben a specifikációban vannak definiálva, vagy szükségesek jelen specifikációhoz valamely normatív referencia előírása szerint, azt a módszert kell választani, amely lehetővé teszi a lehetőségek definíciójával levő konzisztencia megmaradását. 3 Ha egy böngésző egy XHTML dokumentumot általános XML-ként dolgoz fel, részazozosítóként csak az ID tipusú attribútumokat kell felismernie (pl. az XHTML elemek id attribútumai. 4 Ha egy böngésző egy olyan elemmel találkozik, amelyet nem ismer fel, meg kell jelenítenie annak tartalmát. 5 Ha egy böngésző egy olyan attribútummal találkozik, amelyet nem ismer fel, figyelmen kívül kell hagynia az egész deklarációt (értsd: az attribútumot és annak értékét). 6 Ha egy böngésző egy olyan
attribútum-értékkel találkozik, amelyet nem ismer fel, az alapértelmezett attribútum-értéket kell használnia. 7 Ha egy böngésző olyan egyedhivatkozással találkozik (az elore definiáltakon kívül), amelyre nem talált deklarációt (ami úgy történhet meg, hogy a deklaráció külső alkészletben van, melyet a böngésző még nem olvasott be), az egyedhivatkozást karakterenként kell megjeleníteni (& jellel kezdődően és pontosvesszővel bezárva), amely jelöli az egyedhivatkozást 8 A tartalom kirajzolása közben, ha a böngésző olyan karakterekkel, vagy karakter egyedhivatkozásokkal találkozik, melyeket ismer ugyan, de nem ábrázolhatóak, oly módon kell a dokumentumban megjeleníteni, mely nyilvánvaló azon felhasználók számára is, akiknél a normás megjelenítés nem lehetséges. 9 Az XML-ben a következő karaktrek vannak köz-ként (whitespace) definiálva: o Space (szóköz) -   / ASCII 32 o Tab (tabulátor) - 	 /
ASCII 09 o CR (kocsivissza) - 
 / ASCII 13 o LF (soremelés) - 
 / ASCII 10 Az XML értelmező átalakítja a különböző rendszerek sorvég-karaktereit egyszerű soremelés karakterré, amit átad az alkalmazásnak. 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) -  Zero-width space (nulla-végű szóköz ) - ​ Azoknál az elemeknél, ahol az xml:space attribútum értéke preserve, a böngészőnek el kell hagynia az összes, az elemet körülvevő whitespace karaktert (kivéve a bevezető és követő karaktreket), amelyek nem vehetők el. Más esetekben a köz-karaktrek a következő szabályok szerint kezelendők: o o o A blokkszintű elemeket körülvevő valamennyi whitespace karaktert el kell távolítani. Valamennyi megjegyzést el kell távolítani, de ez nincs befolyással a whitespace karakterek kezelésére. Egy whitespace karaktert a
megjegyzés egyik oldalán két whitespace karakterként kell értelmezni. Egy blokkszintű elemen belül a kezdő és befejező whitespace karaktereket el kell távolítani. o o o A blokkszintű elemeken belül lévő soremelés karaktereket szóközzé kell alakítani (kivéve, amikor az xml:space attribútum értéke preserve). A whitespace karakterek sorozatát egy darab egszerű szóköz karaktrré kell alakítani (kivéve, amikor az xml:space attribútum értéke preserve). A böngésző az ábrázolás figyelembevételével oly módon jelenítheti meg a tartalmat, hogy az megfeleljen annak a nyelvnek, melyben az meg lett írva. A latin alapú írásrendszerekben az ASCII szóköz karaktert tipikusan arra használják, hogy jelöljék két nyelvtani szó határát, illetve az őket elválasztó szóközt. Azokban a nyelvekben, melyenek írásrendszere a nagarival áll rokonságban (pl. szanszkrit, thai, stb), a nyelvtani határokat a ZW szóköz karakterrel jelölik, de nem
jelenik meg általánosan tipográfiai elválasztó karakterként az ábrázolásban. Azok a nyelvek, melyek az arab írásrendszert használják, a tipográfiai elválasztó karaktert jelölhetik szóköz karakterrel, de használható a ZW szóköz karakter is, jelölve a belső nyelvtani határokat ( ami egy nyugati olvasónak egy szónak tűnik az arab nyelvben, az valójában kettő; pl. kitAbuhum = kitAbu-hum = book them (könyv övék) = their book (könyvük)). A kínai írásrendszerben nem használnak hasonló elválasztójelet, vagy tipográfiai elválasztó karaktert. Az attribútumokban levő whitespace karakterek kezelése az XML előírásainak megfelelően történik. <p>ez itt egy ;részben <em>kiemelt bekezdés</em>.</p> HELYTELEN: átlapolt elemek <p>ez itt egy részben <em>kiemelt bekezdés.</p></em> 4.2 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. 4.3 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 4.4 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> 4.5 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> 4.6 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> 4.7 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özkarakterek sorozatát pedig egy szóközzé (ASCII Szóközkarakter) konvertálják. Lásd az [XML] specifikáció 3.33 fejezetét 4.8 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 (<, &) 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> A 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. 4.9 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. Ezek felsorolását a B. Függelék tartalmazza 4.10 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. Az XHTML 1.0-ben a name attribútum használata
formálisam nem javasolt és az XHTML következő verzióiban meg is lesz szüntetve. Kompatibilitás Bár az XHTMl 1.0 dokumentumokkal szemben nem követelmény, hogy kompatibilisek legyenek a meglévő böngészőkkel, a gyakorlatban ezt könyű megoldani. A kompatibilis dokumentumok készítéséhez szükséges irányelvek a C. Függelékben vannak leírva • 5.1 Internet médiatípusok 5.1 Internet médiatípusok Az Ajánlás jelen kiadásában, az XML alapú alkalmazások általánosan ajánlott MIME címkézése még nincs megoldva. Mindamellett, azok az XHTML dokumentumok, amelyek követik a C. Függelékben meghatározott irányelveket, címkézhetőek "text/html" Internet Médiatípusnak és kompatibilisek a legtöbb meglevő HTML böngészővel. Ez a dokumentum nem ír elő követelményeket más XHTML dokumentumok MIME címkézésével kapcsolatban. A jövő irányvonalai Az XHTML 1.0 szolgáltatja az alapját annak a dokumentumtípus-családnak, amely
kiterjeszti a HTML-t, azzal feladattal, hogy széles körét támogassa az új eszközöknek és alkalmazásoknak; e feladatát modulok meghatározásával, és a modulok kombinációs lehetőségeinek leírásával látja el. • • • 6.1 A HTML modularizációja 6.2 Alkészletek és kiterjeszthetőség 6.3 Dokumentum profilok 6.1 A HTML modularizációja Az XHTML használata közben, ha a hagyományos felhasználói alkalmazásokat (ált. böngészők - ford.) más platformon használjuk, nem szükséges minden platformon minden XHTML elem megléte. Például egy kézi eszköz, vagy mobiltelefon esetén annak elegendő az XHTML elemek egy részének támogatottsága is. A modularizáció folyamata az XHTML-t elemkészletek kisebb gyűjteményeire osztja. Ezek az elemek a szükséges mértékig kombnálhatóak egymással. Ezek a modulok egy későbbi W3C dokumentumban lesznek definiálva. 6.2 Alkészletek és kiterjeszthetőség A modularizáció a következő előnyöket
nyújtja: • • • • Az XHTML alkészletek előírásos szerkezetét; Az XHTML kiterjesztésének előírásos szerkezetét; Egyszerűsíti a dokumentumtípusok közötti átalakítást Elősegíti a modulok újrafelhasználását új dokumentumtípusokban. 6.3 Dokumentumprofilok A dokumentumprofil határozza meg egy dokumentumkészlet nyelvtanát és szemantikáját. Egy dokumentumprofilnak való megfelelés szolgáltatja az alapját az együttműködési garanciának. A dokumentumprofil határozza meg azokat az adottságokat, amelyek szükségesek az adott típusú dokumentum futtatásához, pl.: milyen képformátumok használhatók, stíluslaptámogatás, stb. A dokumentumok tervezőinek ez lehetővé teszi saját standard profilok változatos csoportjainak definiálását. A szerzők számára ez lehetővé teszi, hogy ne kelljen különböző kliensek számára különböző verziókat készíteni. Néhány különleges csoport számára (kémikusok, orvosok,
matematikusok) lehetővé teszi a standard HTML elemkre épülő különleges profilok létrehozását, kiegészítve a speciális igényekre épülő elemcsoportokkal. "A" függelék : Dokumentumtípus definíciók (DTD-k) Ezek a DTD-k és egyedkészletek jelen specifikáció normatív részét képezik. A DTD fájlok teljes készlete XML deklarációval és az SGML Open Catalog-gal együtt megtalálható a letölthető zip fájlban. • • A.1 Dokumentumtípus definíciók A.2 Egyedkészletek A.1 Dokumentumtípus definíciók Ezek a DTD-k megközelítik a HTML 4 DTD-it. Azért hasonlóak, hogy a DTD-k modularizálásakor a DTD-k előállítási eljárása minél jobban feleljen meg a HTML 4 DTDinek. • • • XHTML 1.0 Strict XHTML 1.0 Transitional XHTML 1.0 Frameset A.2 Egyedkészletek Az XHTML egyedkészletei teljes egészében megegyeznek a HTML 4 által használt egyedkészletekkel, de módosítva lettek annak érdekében, hogy megfeleljenek az érvényes XML
egyed-deklarációnak. Megjegyzendő, hogy az EURO pénznemet jelképező egyed (€, vagy €, vagy €) definíciója a különleges karakterek között található. • • • Latin 1 karakterek Különleges karakterek Szimbólumok "B" Függelék : Elemhasználati korlátozások Ez a függelék normatív E függelék írja le az elemek egymásba ágyazásának korlátozásait. A leírt korlátozások alkalmazandók bármilyen mértékű egymásba ágyazásra, tehát a leszármazott elemekre 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, elemek. iframe, isindex label nem tartalmazhatja másik label elem form nem tartalmazhatja másik form elem. "C" Függelék : HTML kompatibilitási irányelvek Ez a függelék informatív Ez a függelék összefoglalja az azon szerzőknek szóló
tervezési irányelveket, akik XHTML dokumentumokaikat szeretnék a meglevő HTML alapú felhasználói alkalmazásokon is használni. • • • • • • • • • • • • • C.1 Feldolgozási instrukciók C.2 Üres elemek C.3 Elemek minimizálása és az üres elemek C.4 Beágyazott stíluslapok és scriptek C.5 Sortörések az attribútum-értékekben C.6 Isindex C.7 A lang és xml:lang attribútumok C.8 Részazonosítók C.9 Karakterkódolás C.10 Logikai attribútumok C.11 A Dokumentum Objektummodell és az XHTML C.12 Az & karakter (ampersand) az attribútum-értékekben C.13 Cascading Style Sheet (CSS) és az XHTML C.1 Feldolgozási instrukciók Tájékozódj róla, milyen felhasználói alkalmazás fogja kirajzolni az általad tervezett oldalakat. Szintén fontos, hogy ha a dokumentum nem tartalmaz XML deklarációt, akkor csak az alapértelmezett UTF-8, vagy UTF-16 karakterkódolás használható. C.2 Üres elemek A záró /, vagy > karakterek elé szóköz
illesztendő az üres elemek esetén (pl.: <br />, vagy <hr />, vagy <img src="kep.jpg" alt="szöveg" />) Az üres elemek használatakor a teljes kifejezés (<br></br>) helyett választható a rövidített (<br />) forma is. C.3 Elemek minimizálása és az üres elemek Olyan elem üres előfordulása esetén, amelyn tartalommodellje szerint nem EMPTY, a rövidített forma nem használható. Használható: <p> </p> Nem használható: <p /> C.4 Beágyazott stíluslapok és scriptek 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. C.5 Sortörések az attribútum-értékekben A sortörések és többszörözött köz-karakterek (whitespace) kerülendőek az attribútumok értékeiben. A böngészők ezeket nem kezelik megfelelően C.6 Isindex A dokumentum head szekciójában csak egy isindex elem használható. Az isindex elem jelen dokumentum szerint nem javasolt, helyette lehetőség szerint az input elem használandó. C.7 A lang és xml:lang attribútumok Egy elem nyelvének meghatározásához a lang és az xml:lang attribútumok együttesen használandók. Az xml:lang attribútum értéke elsőbbséget élvez C.8 Részazonosítók Az XML-ben azok az URI-k [RFC2396], amelyek #valami formájú részazonosítóra végződnek, nem hivatkoznak azon elemre, amelynek name attribútuma valami (name="valami"). A hivatkozás
célpontja csak olyan elem lehet, amelynek attribútumának típusa ID. A HTML 4-ben ennek az id attribútum felel meg A legtöbb meglevő HTML kliens nem támogatja az ID típusú attribútumok ilyen módon való felhasználását, így az azonosító értékeket a maximális előre- és visszafele kompatibilitás érdekében javasolt az <elem id="valami" name="valami"> formában felírni. Ezenkívül, mivel az érvényes ID típusú attribútum-értékek készlete sokkal kisebb, mint a típusúaké, a name attribútum típusa NMTOKEN-re változott. Ennek az attribútumnak a CDATA használata korlátozva van, így csak ugyanazt az értéket veheti fel, mint az ID, típusúak, vagy az XML Name terméke (XML 1.0, 25 fejezet, 5 kiadás) Balszerencsére, ez a megszorítás nem fejezhető ki az XHTML 1.0 DTD-iben E változás miatt óvatosan kell eljárni a meglevő HTML dokumentumok konvertálásakor. Ezeknek az attribútum-értékeknek a dokumentumon belül
egyedieknek kell lenniük és bármilyen, ezekre a részazonosítókra történő hivatkozás esetén a hivatkozásokat a konverzió folyamán frissíteni kell. Végül, megjegyzendő, hogy az XHTML 1.0 dokumentumtípusban nem javasolt a name attribútum használata az a, applet, form, frame, iframe és map elemek használatánál; a következő verziókban e lehetőség meg is szűnik. C.9 Karakterkódolás A dokumentum karakterkészletének meghatározásához egyszerre használandó az XML deklaráció attribútum specifikációja (<?xml version="1.0" encoding="EUC-JP"?>) és a META HTTP-EQUIV utasítás is (<meta http-equiv="Content-type" content="text/html"; charset="EUC-JP" />). Az XML értelmezés során a kódolási attribútum értékeként elsőbbséget élvez az XML deklaráció. C.10 Logikai attribútumok Néhány HTML alapú böngésző nem képes a teljes formájukban kiírt logikai attribútumokat
értelmezni, úgy, ahogy azt az XML 1.0 megköveteli Megjegyzendő, ez nem hat előnyösen a HTML alapú böngészőkre. A következő attribútumokról van szó: compact, nowrap, ismap, declare, noshade, checked, disabled, readonly, multiple, selected, noresize, defer. C.11 A Dokumentum Objektummodell és az XHTML A Dokumentum Objektummodell [DOM] Ajánlás definiálja a DOM csatlakozófelületét az XML és a HTML 4 felé. A HTML 4 DOM meghatározza, hogy az elemek és attribútumok neveinek visszatérési értékei nagybetűk. Az XML DOM előírása szerint az elemek és attribútumok neveinek visszatérési értéke a meghatározás szerinti. Az XHTML 10 esetén az elemek és attribútumok nevét kisbetűvel kell írni. Ez a látható ellentmondás két módon oldható fel: 1. Azok az alkalmazások, amelyek hozzáférnek XHTML dokumentumokhoz és text/html internet médiatípusok szolgálják ki őket a DOM-on keresztül, használhatják a HTML DOM-ot és számíthatnak rá, hogy
az elem- és attribútum nevek a csatlakozó felületüktől nagybetűsen térnek vissza. 2. Azok az alkalmazások, amelyek hozzáférnek XHTML dokumentumokhoz és text/html, vagy application/xml internet médiatípusok szolgálják ki őket, az XML DOM-ot használhatják. Az elemek és attribútumok nevei kisbetűsökként térnek vissza. Néhány XHTML elem vagy megjelenik az objektumfán, vagy nem, mert a tartalommodellben ezek opcionálisként szerepelnek (pl.: a tbody elem a table elemen belül). Ez azért fordulhat elő, mert a HTML 4-ben meg van engedve néhány elem minimalizálása; azaz kezdő és záró címkéik (tag) elhagyhatók (ez SGML sajátosság). Mindez az XML-ben nem lehetséges. Hamarabb, mint ahogy szükséges lett volna a szerzők számára idegen elemeket beilleszteni, az XHTML ezeket az elemeket opcionálissá tette. Az alkalmazások szükség szerint adaptálhatják ezeket az elemeket C.12 Az & karakter (ampersand) az attribútum-értékekben Ha egy
attribútum-érték & karaktert tartalmaz, azt egyedhivatkozással kell kifejezni (&). Példának okáért, ha egy a elem href attribútuma egy CGI scriptre hivatkozik, ami paramétert vesz át, azt a következőképpen kell kifejezni: http://sajatdomain.com/cgi-bin/scriptpl?class=guest&name=user A teljesség kedvéért bemutatjuk a nem megfelelő megoldást is: http://sajatdomain.com/cgi-bin/scriptpl?class=guest&name=user C.13 Cascading Style Sheet (CSS) és az XHTML A Cascading Style Sheet 2 Ajánlás [CSS2] meghatározza azokat a stílustulajdonságokat, amelyek alkalmazhatók egy HTML, vagy XML dokumentumhoz. Az értelmező különbségei a használt szelektoroktól függően megjelenítésbeli különbségeket okozhatnak. Ezek a jelenségek csökkenthetők az alábbi néhány tanács betartásával: 1. Az XHTML-hez használt CSS stíluslapokban az elem- és attribútumneveket kisbetűvel kell írni; 2. A táblázatokban használt tbody elemek létét a
HTML alapú böngésző kikövetkezteti, nem így az XML alapú. Ezért, ha stíluslap-szelektor hivatkozik rá, a HTML forrásban mindig explicit módon deklarálni kell. 3. Az XHTML névhelyek alkalmazásakor a böngészőtől megköveteljük, hogy az id attribútumot ID típusúként ismerje fel. Ezért a stíluslapokban tovább használható a # szelektor, ha a böngésző nem olvassa a DTD-t. 4. Az XHTML névhelyek alkalmazásakor a böngészőtől megköveteljük, hogy felismerje a class attribútumot. Ezért a stíluslapokban tovább használható a szelektor 5. A CSS különböző megfelelőségi követelményeket támaszt a HTML és XML dokumentumok felé. A HTML-re vonatkozó szabályokat akkor kell alkalmazni az XHTML dokumentumok esetén, ha HTML dokumentumként lesznek közzétéve; az XML-re vonatkozó szabályokat akkor kell alkalmazni az XHTML dokumentumok esetén, ha XML dokumentumként lesznek közzétéve. "D" Függelék : Szerzői információk Ez a
függelék informatív Ez a specifikáció a W3C HTML munkacsoportjának részvételével készült: Steven Pemberton, CWI (HTML Munkacsoport Elnöke); Murray Altheim, SUN Microsystems; Daniel Austin, Ask Jeeves, (CNET: The Computer Network through; July 1999); Frank Boumphrey, (HTML Writers Guild); John Burger, Mitre; Andrew W. Donoho, IBM; Klaus Hofrichter; GMD; Philipp Hoschka; W3C; Masayasu Ishikawa, W3C; Warner ten Kate, Philips Electronics; Peter King, Phone.com; Paula Klante, JetForm; Shinichi Matsui, Panasonic (W3C látogatómérnök - 1999 Szeptember); Shane McCarron, Applied Testing and Technilogy (The Open Group - 1999 Augusztus); Ann Navarro, HTML Writers Guild; Zach Nies, Quark; Dave Raggett, W3C/HP (A W3C HTML vezetője); Patrick Smitz, Microsoft; Sebastian Schnitzenbaumer, Stack Overflow; Peter Stark, Phone.com; Chris Wilson, Microsoft; Ted Wugofski, Gateway 2000; Dan Zigmond, WebTV Networks. "E" Függelék : Hivatkozások Ez a függelék informatív [CSS2]
"Cascading Style Sheet Level 2 (CSS2) Specification", Bert Bos; Hakon Wium Lie, C. Lilley, I Jacobs, 12 May, 1998 Legfrissebb verzió: http:www.w3/org/TR/REC-CSS2 [DOM] "Document Object Model (DOM) Level 1 Specification", Lauren Wood, 1. October, 1988 Legfrissebb verzió: http://www.w3org/TR/REC-DOM-Level-1 [HTML] "HTML 4.01 Specifikáció", D. Raggett, A Le Hors, I Jacobs, 24 December, 1999 Legfrissebb verzió: http://www.w3org/TR/html401 [POSIX.1] "ISO/IEC 9945-1:1990 Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language]", Institute of Electrical and Electronics Engineers, Inc. 1990 [RFC2046] "RFC2046: Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", N. Freed, N Borenstein, November, 1996 Elérhető: http://www.ietforg/rfc/rfc2046txt [RFC2119] "RFC2119: Keywords for use in RFCs to Indicate Requirement Levels", S. Bradner,
March, 1997 Elérhető: http://www.ietforg/rfc/rfc2119txt [RFC2376] "RFC2376: XML Media Types" E. Whitehead, M Murata, July, 1998 Elérhető: http://www.ietforg/rfc/rfc2376txt [RFC2396] "RFC2396: Uniform Resource Identifiers (URI): Generic Syntax", T. Berners-Lee, R Fielding, L Masinter, August, 1998 E dokumentum frissíti az RFC 1738-at és az RFC 1808-at. Elérhető: http://www.ietforg/rfc/rfc2396txt [XML] "Extensible Markup Language (XML) 1.0 Specification", T. Bray, J Paoli, CM Sperberg-McQueen, 10 February, 1998 Legfrissebb verzió: http://www.w3org/TR/REC-xml [XMLNAMES] "Namespaces in XML", T. Bray, D Hollander, A Layman, 14 January, 1999 Legfrissebb verzió: http://www.w3org/TR/REC-xml-names