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.1.2 Fejezetet.
3.1.1 Szigorú megfelelésű dokumentumok
Szigorú megfelelésű dokumentumok azok a dokumentumok, amelyek mindazon tulajdonságok meglétét megkövetelik, 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.w3.org/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 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.
3.1.2 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>
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:
- Space (szóköz) -   / ASCII 32
- Tab (tabulátor) - 	 / ASCII 09
- CR (kocsivissza) - 
 / ASCII 13
- 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:
- 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.
- 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. |