4.1 A dokumentumok jól formázottsága
A jól formázottság egy, az XML -lel bevezetett új fogalom. Alapvetően ez azt jelenti, hogy valamennyi elemnek vagy lennie kell záró címkéjének (tag), vagy pedig speciális módon kell leírni (lásd lejjebb), valamint az összes elemnek beágyazottnak kell lennie.
Bár az átlapolás az SGML-ben is elméletileg érvénytelen, a meglevő böngészők széleskörűen tolerálják ezt a helytelen megoldást. Az XML alapú XHTML-ben ez már nem megengedett. HELYES: egymásba ágyazott elemek
<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öz'-karakterek sorozatát pedig egy szóközzé (ASCII Szóközkarakter) konvertálják. Lásd az [XML] specifikáció 3.3.3 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. |