XHTML

A Wikipédiából, a szabad enciklopédiából
Ugrás a navigációhoz Ugrás a kereséshez
XHTML
(eXtensible HyperText Markup Language)
Fájlkiterjesztés .xhtml, .xht, .xml, .html, .htm
MIME-típus application/xhtml+xml
Fejlesztő World Wide Web Consortium
Formátum típusa Jelölőnyelv
Kiterjesztése ennek XML, HTML
Mac OS típuskód TEXT
Standard

ISO/IEC 15445
W3C HTML 4.01

W3C HTML5 (draft)

Az XHTML (eXtensible HyperText Markup Language) az XML jelölőnyelvek egy családja, amely a weboldalakhoz széleskörűen használt HyperText Markup Language-t tükrözi vagy kibővíti.

Amíg a HTML (a HTML5-öt megelőzően) az Standard Generalized Markup Language-t, azaz egy rugalmas jelölőnyelv-keretrendszert felhasználóként volt definiálva, addig az XHTML alapja az XML, amely az SGML-nek egy jóval szigorúbb részhalmaza. Mivel az XHTML dokumentumoknak jól formázottnak kell lenniük, egy standard XML-értelmezővel is értelmezhetők, ellentétben a HTML-lel, amelynek megengedőbb HTML-értelmező szükséges.

Az XHTML 1.0 W3C-ajánlássá 2000. január 26-án vált a World Wide Web Consortium által. Az XHTML 1.1 2001. május 31-én lett W3C ajánlás. Az XHTML5 2009. szeptemberében a HTML5 specifikáció részeként fejlesztés alatt állt.

Áttekintés[szerkesztés]

Az XHTML 1.0 "a három HTML4 specifikáció újraalakítása az XML 1.0 felhasználásával".[1] A World Wide Web Consortium továbbra is aktívan fenntartja a HTML4.01 ajánlást és a HTML5 és az XHTML5 ajánlása aktív fejlesztés alatt áll. A jelenlegi, 2002. augusztusában kiadott és felülvizsgált ajánlásban a W3C a következőket jegyezte meg: "Az XHTML-család az internet evolúciójának következő lépése. A mostani XHTML-re migrálással a fejlesztők beléphetnek az XML világába minden kísérő előnyével, míg magabiztosak maradhatnak tartalmuk jelenlegi és múltbeli kompatibilitásával kapcsolatban."[1]

Mindazonáltal 2004-ben a Web Hypertext Application Technology Working Group (WHATWG) megalakult a W3C-től függetlenül és a munkát a sima HTML-en folytatta az XHTML helyett. A WHATWG egy olyan standardon kezdett dolgozni, a HTML5-ön, amely mind az XML-t, mind a nem-XML-t támogatta. 2007-ben a W3C HTML-munkacsoportja hivatalosan is megszavazta a HTML5-öt, mint a következő HTML standardot.[2] 2009-ben a W3C hagyta az XHTML2 munkacsoportját feloszlani, elismerve, hogy a HTML5 lesz az egyedüli következő HTML standard, az XML és nem-XML típusú is.[3] A kettő közül a W3C ajánlása szerint a fejlesztők az XHTML-szintaxis helyett leginkább a HTML-t használják.[4]

Motiváció[szerkesztés]

Az XHTML kifejlesztésének oka a HTML kiterjeszthetőségének növelése és a más adatformátumokkal való átjárhatóság növelése volt.[5] A HTML4 látszólagosan az Standard Generalized Markup Language (SGML) felhasználása volt, ám az SGML specifikációja komplex és semelyik webböngésző és a HTML4 ajánlás sem voltak teljesen SGML-konformak.[6] Az 1998-ban elfogadott XML standard egy egyszerűbb adatformátumot biztosított, mely közelebb volt a HTML4 egyszerűségéhez.[7] Az XML-formátumra váltástól azt remélték, hogy a HTML a gyakori XML-eszközökkel kompatibilis lesz,[8] és, hogy a szerverek és a proxyk szükség szerint átalakíthassák a tartalmat a mobiltelefonokhoz hasonló kisebb képességű eszközökre.[9] A névterek használatával az XHTML kiterjeszthetőséget kapott az egyéb XML-alapú jelölőnyelvekből, például a SVG-ből és MathML-ből való beilleszthetőséggel.[10] Végezetül a felújított munka a HTML újrafejlhasználható elemekre való bontsát (XHTML modularizáció) segíti elő és a nyelvet segít megtisztítani.[11]

Az XHTML verziói[szerkesztés]

XHTML 1.0[szerkesztés]

A Wikipédia az XHTML 1.0 Transitional doctype-ot és szintaxist használja, habár nem XHTML a kiszolgálása

1998-ban jött létre a W3C Working Draft publikációja Reformulating HTML in XML címmel (A HTML XML-beli újraformázása). Ez bevezette a Voyagert, egy új, HTML4-alapú jelölőnyelv kódnevét, ám az XML-hez kapcsolódó szigorúbb szintaxissal. 1999 februárjában a név megvátozott XHTML 1.0: The Extensible HyperText Markup Language-ra, majd 2000 januárjában hivatalos W3C ajánlássá lépett elő.[12] Három hivatalos DTD van az XHTML 1.0-hoz, amely a HTML4.01 három különböző változatához kapcsolódik:

  • XHTML 1.0 Strict a HTML4.01 Strict XML verziója, tartalmazza mindazon elemeket és attribútumokat, amelyeket a HTML4.01 nem jelölt elavultnak. A 2011. május 25-ei verzió alapján az XHTML 1.0 Strict a World Wide Web Consortium weboldalához használt DTD.
  • XHTML 1.0 Transitionala HTML 4.01 Transitional XML verziója, tartalmazza mindazon kinézeti elemeket (úgy mint a center, font és strike), amelyeket a szigorú verzióból kihagytak.
  • XHTML 1.0 Frameset a HTML 4.01 Frameset XML verziója, amely megengedi a frameset dokumentumok definiálását, amely az 1990-es évek végén gyakran használt Webes szolgáltatás volt.

Az XHTML1.0 második változata 2002 augusztusában lett W3C ajánlás.[13]

Az XHTML modularizációja[szerkesztés]

A modularizáció komponensek olyan gyűjteménye, amelyen keresztül az XHTML kibővíthető vagy épp részekre bontható. Ennek a szolgáltatásnak a célja az XHTML újonnan való platformokra való megjelenésének elősegítése, mint például a mobileszközök és webbel rendelkező televíziók. Az XHTML modularizáció kezdeti vázlata 1999 áprilisában vált elérhetővé, míg az ajánlás státuszt 2011 áprilisában érte el.[14]

Az első moduláris XHTML-variánosk az XHTML 1.1 és az XHTML Basic 1.0 voltak.

2008 októberében az XHTML modularizációt helyettesítette az XHTML Modularization 1.1, amely egy XML Schema implementációt ad hozzá. Ezt 2010 júliusában váltotta fel egy második változata.[15]

XHTML 1.1: Modulalapú XHTML[szerkesztés]

Az XHTML 1.1 az XHTML modularizációjáról szóló specifikációt körülvevő munka során fejlődött ki. A W3C az első kezdeti vázlatot 1999 szeptemberében adta ki, míg az ajánlás státuszt 2001 májusában szerezte meg.[16] Az XHTML 1.1-be kombinált modulok hatékonyan felfrissítik az XHTML 1.0-t. A name attribútumot eltávolították az a és a map elemekből, továbbá az első változatban a lang attribútumot is eltávolították, melyet az xml:lang helyettesített.

Habár az XHTML1.1 nagyrészt kompatibilis volt a HTML4-gyel, 2002 augusztusában a munkacsoport formális jegyzetet készített, melyben azt javasolta, hogy az XHTML1.1 ne a html médiatípussal legyen továbbítva.[17] Az alternatív application/xhtml+xml típus limitált támogatása miatt az XHTML 1.1-nek nem sikerült széleskörűen elterjednie. 2009 januárjában a dokumentum második verzióját (XHTML Media Types - Second Edition) kibocsátották, amely megkönnyíti eme megkötöttséget és megengedi az XHTML1.1 text/html-ként való továbbítását.[18]

Az XHTML 1.1 második változatát 2010. november 23-án bocsátották ki.[19] (Először 2009 májusában adták ki, mint "Proposed Edited Recommendation", azaz "Javasolt Szerkesztett Ajánlás")[20]

Szabványos XHTML-dokumentumok[szerkesztés]

Szabványos egy XHTML dokumentum, amely megfelel az XHTML specifikusnak. A szabványosság biztosítja a dokumentum kódjának következetességét, amely pedig megkönnyíti a feldolgozást, ám ez nem jelenti azt, hogy a böngészők is következetesen renderelik a tartalmat. Egy dokumentum XHTML-érvényességét a W3C Markup Validation Service nevű szolgáltatással lehet ellenőrizni. A gyakorlatban sok webfejlesztőprogram biztosít a W3C standardokon nyugvó szabványosítást.

Gyökérelem[szerkesztés]

Az XHTML dokumentum gyökérelemének a html-nek kell lennie, amelynek rendelkeznie kell egy xmlns attribútummal, amely ezáltal az XML névtérrel azonosítja azt. Az XHTML névtér URI-ja http://www.w3.org/1999/xhtml. A következő példa címke tartalmaz emellett egy xml:lang attribútumot is a tartalom nyelvvel való megfeleltetése érdekében:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

DOCTYPE-ok[szerkesztés]

Az XHTML dokumentumok érvényesítéséhez használható egy Document Type Declaration, avagy DOCTYPE. Egy DOCTYPE a böngészőnek megadja a Document Type Definition-t (dokumentumtípus-definíció, DTD), amelynek a dokumentum megfelel. A DOCTYPE-nak a gyökérelem előtt kell elhelyezkednie.

Gyakori hibák[szerkesztés]

Az XHTML használata során bekövetkező leggyakoribb hibák némelyike:

  • Az üres címkék bezárásának hiánya (azon HTML-tagok, amelyek a HTML4-ben nem rendelkeznek lezáró címkével):
    • Helytelen: <br>
    • Helyes: <br />
      Fontos megjegyzeni, hogy az XHTML-ben ezek bármelyike szabványos: <br></br>, <br/>, és <br />. HTML-ben csak a <br> forma helyes, de a böngészők a többi formát is ugyanúgy kezelik.
  • A nemüres címkék nem bezárása
    • Helytelen: <p>Ez egy bekezdés<p>Ez egy másik.
    • Helyes: <p>Ez egy bekezdés.</p><p>Ez egy másik.</p>
  • Az elemek helytelen egymásba ágyazása (ez HTML-ben sem érvényes)
    • Helytelen: <em><strong>Ez egy szöveg.</em></strong>
    • Helyes: <em><strong>Ez egy szöveg.</strong></em>
  • Az attribútumértékek körül levő idézőjelek hiánya
    • Helytelen: <td rowspan=3>
    • Helytelen: <td rowspan='3">
    • Helyes: <td rowspan="3">
    • Helyes: <td rowspan='3'>
  • Az & használata az entitásokon kívül (ez HTML-ben sem érvényes)
    • Helytelen: <title>Autók & teherautók</title>
    • Helyes: <title>Autók &amp; teherautók</title>
    • Helytelen: <a href="index.php?lap=hirek&id=5">Hírek</a>
    • Helyes: <a href="index.php?lap=hirek&amp;id=5">Hírek</a>
  • Az XHTML-elemek "case sensitive" mivoltának fel nem ismerése
    • Helytelen: <BODY><P ID="ONE">A legjobb lap</P></BODY>
    • Helyes: <body><p id="ONE">A legjobb lap</p></body>
  • Az attribútum-minimalizáció használata
    • Helytelen: <textarea readonly>Csak olvasható</textarea>
    • Helyes: <textarea readonly="readonly">Csak olvasható</textarea>

Az XHTML és HTML keresztkompatibilitása[szerkesztés]

A HTML5 és az XHTML5 nagyobbrészt keresztkompatibilisek, amennyiben a szigorúbb XHTML5 szintaxist vesszük figyelembe, ám vannak esetek, ahol az XHTML5 nem működik szabványos HTML5-ként (például a HTML-ből kivett feldolgozóinstrukciók, amik megjegyzésként lesznek kezelve és bezáródnak az első "?"-nél, amíg teljesen szabványosak az XML-ben, a saját típusukként lesznek kezelve és a "?>")-en záródnak be.[21]

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben a XHTML című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.

Jegyzetek[szerkesztés]

  1. a b XHTML 1.0 Specification, Section 1: What is XHTML?. World Wide Web Consortium, 2000. január 26. (Hozzáférés: 2007. június 16.)
  2. "results of HTML 5 text, editor, name questions"
  3. "Frequently Asked Questions (FAQ) about the future of XHTML"
  4. HTML5 Working Draft, Section 1.6: HTML vs XHTML. World Wide Web Consortium, 2011. január 13. (Hozzáférés: 2011. február 16.)
  5. XHTML 1.0 Specification, Section 1.1: Why the need for XHTML?. World Wide Web Consortium, 2000. január 26. (Hozzáférés: 2007. június 16.)
  6. Arjun Ray: Dropping the Normative Reference to SGML (was: I-D ACTION.), 1999. október 6. (Hozzáférés: 2008. december 29.)
  7. Tina Holmboe: XHTML—Myths and Reality. The Developer’s Archive, 2008. október 6. (Hozzáférés: 2008. december 29.)
  8. Kip Hampton: Creating Web Utilities Using XML::XPath. XML.com, 2001. január 10. (Hozzáférés: 2008. december 29.)
  9. Jean-Luc David: Developing Wireless Content using XHTML Mobile. XML.com, 2004. április 14. (Hozzáférés: 2008. december 29.)
  10. Namespaces Crash Course. Mozilla Developer Center. (Hozzáférés: 2008. december 29.)
  11. Steven Pemberton: HTML and XHTML Frequently Answered Questions. World Wide Web Consortium, 2004. július 21. (Hozzáférés: 2008. december 29.)
  12. XHTML 1.0: The Extensible HyperText Markup Language, W3C Recommendation 26 January 2000. World Wide Web Consortium, 2000. január 26. (Hozzáférés: 2008. július 19.)
  13. XHTML 1.0 The Extensible HyperText Markup Language (Second Edition). World Wide Web Consortium, 2002. augusztus 1. (Hozzáférés: 2008. július 19.)
  14. Modularization of XHTML, W3C Recommendation 10 April 2001. World Wide Web Consortium, 2001. április 10. (Hozzáférés: 2008. július 19.)
  15. XHTML Modularization 1.1 - Second Edition, W3C Recommendation 29 July 2010. World Wide Web Consortium, 2010. július 29. (Hozzáférés: 2010. december 31.)
  16. XHTML 1.1 - Module-based XHTML, W3C Recommendation 31 May 2001. World Wide Web Consortium, 2001. május 31. (Hozzáférés: 2008. július 19.)
  17. XHTML Media Types, W3C Working Group Note 1 August 2002. World Wide Web Consortium, 2002. augusztus 1. (Hozzáférés: 2008. július 19.)
  18. XHTML Media Types - Second Edition, W3C Working Group Note 16 January 2009. World Wide Web Consortium, 2009. január 16. (Hozzáférés: 2009. január 28.)
  19. XHTML 1.1, XHTML Basic 1.1, XHTML Print Recommendations Revised. W3C NEWS ARCHIVE: 2010. World Wide Web Consortium. (Hozzáférés: 2010. december 12.)
  20. XHTML 1.1 - Module-based XHTML - Second Edition. World Wide Web Consortium, 2009. május 7. (Hozzáférés: 2009. május 25.)
  21. HTML vs. XHTML, WHATWG Wiki