Privacy Policy Cookie Policy Terms and Conditions Extensible HyperText Markup Language - Wikipedia

Extensible HyperText Markup Language

XHTML (Extensible Hypertext Markup Language) is een taal die de functionaliteit heeft van HTML, maar een striktere syntax. Dit omdat HTML gebaseerd is op het flexibere SGML, waar XHTML gebaseerd is op XML, een striktere subset van SGML. Door de striktere syntax van XML documenten kunnen deze makkelijker verwerkt worden door een XML parser, terwijl SGML documenten een veel complexere parser nodig hebben. XHTML 1.0 is een W3C standaard geworden op 26 januari, 2000.

Inhoud

[bewerk] Voordelen van XHTML

XHTML biedt, mits goed gebruikt, enkele voordelen boven HTML. Doordat XML documenten well-formed moeten zijn kunnen ze makkelijker geïnterpreteerd worden door User Agents, een correcte XML parser moet namelijk een fatale error geven als een XML document niet volledig correct is, terwijl bij SGML parsers complexe error-correcties worden gedaan. Doordat voor het verwerken van XHTML minder rekenkracht nodig is kan deze ook beter verwerkt worden door User Agents met minder rekenkracht zoals mobiele telefoons en PDA's.

Door de modularisatie van XHTML kan XHTML makkelijk uitgebreid worden met nieuwe elementen en attributen. Ook worden hiermee de compatibileitsproblemen opgelost die ontstonden door onofficiële uitbreidingen van de HTML standaard die niet door alle browsers werden ondersteund.

In XHTML kunnen verschillende XML namespaces gebruikt worden, zo kunnen MathML en Scalable Vector Graphics in een XHTML document verweven worden.

[bewerk] Verschillen met HTML 4.01

[bewerk] Inhoudelijk

De inhoudelijke verschillen tussen XHTML 1.0 (XHTML 2.0 wordt verderop besproken) en HTML zijn niet groot, dezelfde elementen en attributen zijn te gebruiken. Het grootste verschil tussen XHTML en HTML is dat XHTML well-formed moet zijn, dit houdt in dat:

  • Alle elementen moeten gesloten worden
    • Incorrect: <p>Dit is een paragraaf.<p>Dit is nog een paragraaf.
    • Correct: <p>Dit is een paragraaf.</p><p>Dit is nog een paragraaf.</p>
  • Ook lege elementen moeten gesloten worden
    • Incorrect: <br>
    • Correct: <br />
  • Elementen moeten correct genest worden
    • Incorrect: <em><strong>Dit is tekst met nadruk.</em></strong>
    • Correct: <em><strong>Dit is tekst met nadruk.</strong></em>
  • Attribuutwaarden moeten tussen aanhalingstekens
    • Incorrect: <td rowspan=3>
    • Correct: <td rowspan="3">
  • Alle elementen en attributen moeten klein geschreven worden
    • Incorrect: <BODY><P ID="iets">Wikipedia</P></BODY>
    • Correct: <body><p id="iets">Wikipedia</p></body>
  • Attributen mogen niet geminimaliseerd worden
    • Incorrect: <textarea readonly>READ-ONLY</textarea>
    • Correct: <textarea readonly="readonly">READ-ONLY</textarea>
  • style en script elementen zijn #PCDATA en zullen dus geparsed worden als er geen #CDATA tags staan
    • Incorrect: <script type="application/x-javascript">
      document.getElementById('tekst').appendChild(createTextNode('Dit is een nieuwe paragraaf'));
      </script>
    • Correct: <script type="application/x-javascript">
      <![CDATA[
      document.getElementById('tekst').appendChild(createTextNode('Dit is een nieuwe paragraaf'));
      ]]>
      </script>

Zogenaamde lege elementen zoals <br /> en <hr /> kunnen ook voluit worden geschreven als <br></br> en <hr></hr> in XHTML, dit wordt echter sterk afgeraden omdat veel (oudere) browsers hier niet goed mee omgaan en omdat het syntactisch gezien de indruk wekt dat deze elementen iets kunnen bevatten.

Voor de omzetting van HTML naar XHTML zijn programma's ontwikkeld, maar in principe kan dit ook handmatig worden gedaan.

[bewerk] Technisch

Om XHTML 1.0 compatibel te houden met HTML 4.01 mag XHTML 1.0 worden opgestuurd met het mime-type text/html dat eigenlijk bedoeld is voor HTML. Dit heeft echter enkele nadelen, XHTML verstuurd met dit mime-type wordt namelijk gewoon verwerkt als HTML, het document is dan dus eigenlijk invalide HTML 4.01 in plaats van XHTML, zogenaamde tag-soup. XHTML documenten verstuurd met het correcte application/xhtml+xml mime-type worden door sommige browsers, onder andere het veelgebruikte Internet Explorer, niet ondersteund. Nieuwere browsers zoals Firefox ondersteunen dit wel.

[bewerk] Versies van XHTML

[bewerk] XHTML 1.0

XHTML 1.0 was de eerste XHTML versie en werd een W3C standaard op 26 januari, 2000. XHTML 1.0 is een herformulering van HTML 4.01 in XML met als doel backwards compatible te zijn. Er zijn 3 versies van XHTML 1.0:

  • XHTML 1.0 Strict is hetzelfde als HTML 4.01 strict met XML regels.
  • XHTML 1.0 Transitional staat sommige afgekeurde elementen en attributen toe die niet in XHTML 1.0 Strict gebruikt mogen worden, zoals <center>, <u>, <strike>, en <applet>.
  • XHTML 1.0 Frameset: Staat het gebruiken van HTML frames toe.

[bewerk] XHTML 1.1

XHTML 1.1 is de eerste XHTML versie die is gebaseerd op de modularisatie van XHTML en zou de basis moeten zijn van toekomstige XHTML versies. Door deze modularisatie en het niet meer toestaan van het text/html mime-type is XHTML 1.1 niet compatibel met XHTML 1.0 en HTML 4.01. XHTML 1.1 heeft ook ondersteuning voor Ruby, een opmaaktaal voor Oost-Aziatische talen.

[bewerk] XHTML 2.0

Deze versie van XHTML 2.0 is nog druk in ontwikkeling. Het is een volledig nieuwe opmaaktaal en niet zomaar een nieuwe versie. XHTML 2.0 is dan ook niet compatibel met HTML of enige andere versie van XHTML. De grootste verschillen tussen XHTML 2.0 en XHTML 1.0 zijn:

  • HTML forms zullen ingewisseld worden met XForms.
  • HTML frames zullen ingewisseld worden met XFrames.
  • De DOM Events zullen ingewisseld worden met XML Events die het XML Document Object Model gebruiken.
  • Er wordt een nieuw lijsttype geïntroduceerd: <nl> is speciaal bedoeld voor het maken van navigaties.
  • Elk element kan gebruikt worden als een hyperlink, bijvoorbeeld: <li href="articles.html">Startpagina</li>.
  • Elk element kan alternatieve media aangeven met behulp van het src attribuut, bijvoorbeeld: <p src="lbridge.jpg" type="image/jpeg">London Bridge</p> in plaats van <img src="lbridge.jpg" alt="London Bridge" />.
  • Het <img> element is verwijderd. Afbeeldingen moeten getoond worden met behulp van het <object> element, bijvoorbeeld: <object type="image/jpeg" src="plaatje.jpg">Alternatieve tekst</object>
  • Naast de kop-elementen h1 tot en met h6 kunnen nu ook de h en section elementen gebruikt worden om beter de structuur van de tekst aan te geven.
  • De lettertype elementen <i>, <b> en <tt>, zullen afwezig zijn in XHTML 2.0. De enige lettertype elementen die overblijven zijn <sup> en <sub>.

[bewerk] Andere versies van XHTML

  • XHTML Basic: Een lichte versie van XHTML bedoeld voor veel verschillende User Agents.
  • XHTML Mobile Profile: Een uitbreiding van XHTML Basic door het Open Mobile Alliance speciaal bedoeld voor mobiele telefoons.

[bewerk] Externe links

[bewerk] Specificaties

Webdesign
Opmaaktalen HTML | XHTML | C-HTML | WML | XHTML Basic
Design Cascading Style Sheets | XSL-FO | XSLT
Interactie Document Object Model | HTML-event | HTML-scripting | JavaScript | Ajax | Dynamic HTML
Referentie HTML-kleuren | HTML-tags | HTML-entiteiten | HTML-events
Details Browser sniffing | User Agent | Cookie | Metatag | DTD | Broodkruimelnavigatie | Inline image | Java‑applet | Macromedia Flash | HTML‑formulier | Favicon | Frames | SVG | WAI
HTML-Editors Dreamweaver | FrontPage | Nvu | Quanta Plus

Verwant Wereldwijde web | Webbrowser | Webserver | Grafisch programma | Teksteditor | XML
 
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu