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 CDATA típusúaké, a name attribútum típusa NMTOKEN -re változott. Ennek az attribútumnak a 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, 2.5 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 1.0 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:
- 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.
- 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/script.pl?class=guest&name=user
A teljesség kedvéért bemutatjuk a nem megfelelő megoldást is: http://sajatdomain.com/cgi-bin/script.pl?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:
- Az XHTML-hez használt CSS stíluslapokban az elem- és attribútumneveket kisbetűvel kell írni;
- 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.
- 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.
- 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.
- 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.
|