Diferența dintre HTML și XHTML. Care este extensia fișierului XHTML? Limba XHTML.

Expansiunea HyperText Language (XHTML) este drumul rapid Pentru a se referi la mai multe recomandări lingvistice care sunt utilizate pe scară largă pe dispozitivele de asistență Internet pentru a vizualiza paginile web. Deși este numit după predecesorul său, limba de marcaj hipertext (), este de fapt bazată pe limba de marcare extensibilă (XML), care este o parte foarte selectivă a limbii standard de marcare generalizate (SGML).
În esență, toți sunt descendenți ai SGML. Deși HTML este o aplicație directă SGML, XHTML este ceea ce se numește spațiul de nume sau un set de definiții pentru un document XML care ajută la scăparea ambiguității atunci când mai mult de un dicționar XML este utilizat în orice situație specificată.

Limba a apărut din cauza mai multor restricții HTML și o varietate de modalități de implementare a HTML. La aproximativ momentul în care HTML a fost actualizat la versiunea 4, el a început să slăbească, cu utilizarea corectă de mulți interpreți HTML, programe de calculatorcare analizează documentele HTML pe pagina web formatată. De atunci a apărut dispozitive mobile Și alte platforme pentru vizualizarea paginilor web, a fost necesar cea mai bună decizie. XML este o implementare mult mai strictă a SGML decât HTML, iar diferitele nume XML pot fi utilizate într-o singură instanță. Prin urmare, aproximativ 2000, consorțiul World Wide Web (W3C) a dezvoltat și a făcut XHTML una din recomandările sale pentru a rezolva unele dintre aceste probleme.

În toate sensurile și scopurile, în majoritatea cazurilor, XHTML imită HTML, dar deoarece prima folosește spațiul de nume XML, acesta poate fi analizat de orice interpret XML, iar HTML este limitat numai de interpreții HTML. XHTML în realitate a recreat HTML sub o mai restrictivă un subset de xml. SGML. Astfel, o limbă mai recentă ar putea fi imediat interpretată de browserele web existente și, de asemenea, a devenit disponibilă pentru alte platforme. De asemenea, este important să vă amintiți că trebuie să respecte aspectul expandabil al firmware-ului XHTML. Nu numai că face posibilă citirea mai multor programe și platforme, dar se extinde, permițându-vă să utilizați alte spații de nume XML în documentele dvs.

Datorită posibilității de XHTML, includeți alte spații de nume XML într-un document, acesta poate fi extins în mai multe moduri de a prezenta mai mult decât formatarea unei pagini. De exemplu, o limbă matematică de marcare (MathML) poate fi inclusă în aceste documente pentru a afișa formule și denumiri matematice. Imaginile pot fi, de asemenea, integrate în utilizarea spațiului de nume zoom vector grafic (Svg) în documentul de acest tip. Astfel, XHTML poate fi, de asemenea, inclus într-un alt document XML.

Deoarece XHTML este de fapt doar un HTML specificat în conformitate cu regulile XML, acesta oferă trei definiții ale tipului de document (DTD), care duplică cele care sunt enumerate în versiunea HTML 4. DTD este descriere detaliata Elemente ale limbajului de marcare, inclusiv atunci când, unde și cum pot fi utilizate, precum și orice atribute conexe. Dar, în versiunile ulterioare ale XHTML, schemele XML au fost instalate, unul mai mult, mai mult mod de încredere Descrieri ale documentului XML care a extins și mai mult xthml. La rândul său, au fost dezvoltate diferite versiuni XHTML tăiate, care pot fi apoi utilizate în scopuri specifice, dintre care multe se rotesc în jurul platformelor mobile de calcul.

XHTML este un limbaj de marcaj hipertext bazat pe XML, cât mai aproape de standardele actuale. HTML.. XHTML este diferită de severitatea HTML a codului de scriere. Dacă HTML a permis să scrie aproape orice desene și browserul le-a recunoscut corect, acum, cu apariția lui XHTML, a devenit imposibilă. Acesta din urmă necesită aderarea strictă la toate regulile prezentate de W3C. Cerințe stricte pentru proiectarea codului XHTML fac posibilă evitarea multor greșeli în stadiul de scriere și depanare.

Pentru adepții HTML, aș dori să menționez că XHTML este o nouă limbă care a venit să schimbe vechiul HTML. Nu vor exista noi versiuni ale HTML. Ca rezultat, toate browserele, după cum era de așteptat, vor trece la XHTML (este evident că, în acest caz, compatibilitatea cu HTML vechi este păstrată, dar nu mai mult decât). De asemenea, dorim să cazăm din specificația de traducere a Rusiei a XHTML de la W3C: "Familia XHTML a fost creată luând în considerare compatibilitatea generală a agenților utilizatorului. Cu ajutorul unui nou mecanism pentru profilarea agenților și documentelor personalizate, serverelor, proxy Și agenții utilizatorilor vor putea converti conținutul bine în cel mai bun mod. În cele din urmă, va deveni posibilă dezvoltarea posibilă a conținutului xHTML corespunzător adecvat pentru orice agent personalizat XHTML corespunzător.

XHTML este compatibil cu HTML atunci când se conformează unor reguli, descrierea cărora poate fi găsită în standard. Aceasta înseamnă că chiar și cele mai vechi browsere care înțeleg HTML vor lucra cu XHTML.

Pentru a verifica corectitudinea scrisului XHTML-cod. Există programe de validatori. În plus, agenții utilizator care susțin XHTML înșiși vă vor spune despre erori în sintaxă, dacă există vreunul.

Diferențele XHTML 1.0 de la HTML.

Sunt câteva cerințeCe dezvoltator este obligat să efectueze:
  • la începutul documentului ar trebui să indice unul dintre DTD-urile posibile (definiția tipului de document):
  • în corp XHTML Document. Următoarele etichete trebuie să fie prezente: hTML., cap., titlu și corp.;
  • asigurați-vă că aveți un atribut xmlns. În element hTML.;
  • numele etichetelor și atributelor trebuie înregistrate în registrul inferior;
  • toate valorile atributelor ar trebui să fie "citate";
  • toate etichetele trebuie închise; Dacă elementul nu are o etichetă de închidere, slash ar trebui adăugat la capătul său (
    sau
    - Gap pentru compatibilitatea cu browserele vechi);
  • este necesar să respectați cuibarea corectă a etichetei ( text - incorect; Ar trebui să fie scrisă text );
  • este interzisă utilizarea atributelor minimizate ( nowrap. ar trebui înlocuit cu nowrap \u003d "nowrap"); O listă completă a acestor atribute: verificat., compact., declara., amâna., dezactivat., ispap., noresize, noshade., nowrap., multiplu, readonly., selectat..
  • următoarele elemente impun restricții privind includerea altor elemente în ele:
    • a. a.;
    • formă nu pot conține alte elemente formă;
    • eticheta nu pot conține alte elemente eticheta;
    • pre. Nu pot conține img., obiect., mare, mic, sub. sau cina.;
    • buton. nu pot conține elemente intrare, sELECTAȚI, textarea., eticheta, buton., formă, set., iframe. sau isindex.;
  • caracterele speciale în sens adevărat ar trebui înlocuite cu echivalentele lor:
    • & pe & ;
    • < pe < ;
    • > pe > .

În plus, există o serie de recomandări opționale pe care dezvoltatorul nu le obligă să le îndeplinească în versiune XHTML 1.0.Dar, în următoarele versiuni ale acestei limbi, este posibilă revizuirea recomandărilor cerințelor:

  • declarația documentului XML la începutul codului înainte de DTD ( );
  • după un element titlu imediat după deschiderea etichetei cap.;
  • folosind un atribut iD. in schimb nume. (Numele este considerat un atribut învechit);
  • prezența atributului de tip în elementele fișierelor plug-in (mese de stil și scripturi);
  • refuzul de a utiliza atributul ţintă..

Să dăm cod minim. Pagina corectă XHTML:

Titlu Document de conținut

Dacă introduceți acest cod într-un fișier, salvați-l ca " file.html."Și deschideți printr-un server web, toate informațiile vor fi primite de către client ca\u003e Text / HTML<. То есть, как и обычная HTML-страница. Фактически для браузера это будет не XHTML, а HTML-документ. У XHTML есть свой собственный MIME -тип: .

Mima. - Acesta este un set special de extensii, care indică programe cum să se ocupe de informațiile primite. Inițial, tipurile de MIME au fost concepute pentru programe poștale, de unde au primit numele lor.

Asa de, Datele XHTML. dați corect clientului în format Deoarece toate avantajele, în plus față de browserul încrucișat (creșterea ratei de analiză a codului procesorului XML, mesajul de eroare este browser-ul însuși etc.), poate fi realizat numai dacă agentul utilizator acceptă XHTML și este raportat că datele primite - Codul XHTML.. Singurul lucru de reținut la trimiterea codului XHTML este: Dacă browserul înțelege XHTML, atunci numai atunci informațiile pot fi trimise ca ; Dacă nu, atunci numai ca . Lista clienților moderni care susțin XHTML: MZ, Opera, Safari. Adică, din păcate, nu înțelege . Verificați dacă agentul utilizator este acceptat de tipul de MIME necesar pe antetul de ieșire din browser unde toate tipurile de MIME sunt conținute de client. Să dăm un exemplu cum se poate face acest lucru folosind un script Perl:

#! / USR / BIN / PERL -W # Aflați dacă browserul XHTML acceptă. Meu $ html \u003d "text / html"; $ xhtml \u003d "aplicație / xhtml + xml"; Tipul meu $ \u003d $ env (http_accept) \u003d ~ m / q $ xhtml \\ e (? \\ S *; q \u003d 0) /? $ xhtml: $ html; # Afișați antetul corespunzător. Imprimați "tipul de conținut: $ tip \\ n \\ n"; # Document HTML de ieșire (x). Imprimare "...";

Când trimiteți date ca Trebuie să luăm în considerare câteva puncte, fără de care apariția erorilor este posibilă. Deoarece XTML este sintactic XML, elemente ...

O astfel de sintaxă este universală. Acest cod va funcționa corect și si pentru .

O soluție bună și cea mai ușoară va fi conectarea tabelelor și a scripturilor de fișiere externe. În XHTML, acest lucru se face și în HTML:

Articolul se bazează pe documentul original W3C - XHTML ™ 1.1 - XHTML - a doua ediție: Proiectul de lucru W3C 16 februarie 2007. Acesta poate fi schimbat, dar cel mai probabil devine un înlocuitor pentru recomandarea existentă - XHTML ™ 1.1 - bazate pe modulul bazat pe modulul.

Respectarea strictă a documentelor

Documentele pe deplin compatibile cu XHTML 1.1 ar trebui să respecte următoarele criterii:

  1. Elementul rădăcină al documentului ar trebui să fie elementul .
  2. Elementul rădăcină al documentului ( ) Trebuie să specificați spațiul de nume XHTML utilizând atributul XMLNS. NameSpace Pointer pentru XHTML este "http://www.w3.org/1999/xhtml", adică deschidere tAG HTML. Trebuie să existe un design al formularului: .
  3. Elementul rădăcină poate conține și atributul Schemalocați. Atributul Schemaloc pentru XHTML este definit ca: "http://www.w3g/markup/schema/xhtml11.xsd".
  4. Anunțarea tipului de document DOCTYPE, precedent elementului rădăcină. Identificatorul inclus în Declarația Doctype ar trebui să specifice DTD-ul corespunzător. Acest identificator poate arăta astfel:

Să dăm un exemplu de document corespunzător lui XHTML 1.1:

Biblioteca virtuală.

Sa mutat la example.org.

Rețineți că, în acest exemplu, este activat un anunț XML. Un anunț XML, similar cu cele de mai sus, nu este necesar în toate Documente XML.. Autorii documentelor XHTML sunt recomandate extrem de recomandate pentru a utiliza anunțul XML în toate documentele sale. Un astfel de anunț este necesar atunci când codarea documentului XML diferă de UTF-8 sau UTF-16.

Documentele XHTML 1.1 ar trebui să indice tipul de conținut al documentului - fie ca text / html, fie ca aplicație / xHTML + XML.

În mod natural, agenții utilizatorilor (de exemplu, browserele), din partea lor, ar trebui să țină seama de aceste recomandări.

Tipul documentului XHTML 1.1

XHTML 1.1 este un tip de documente complete cu semantică dezvoltată. Cu toate acestea, nu este la fel de diversificat în funcționalitate ca XHTML 1.0 Transitional sau XHTML 1.0 Frameset. Pornind de la versiunea XHTML 1.1, tipul de document nu conține elemente depășite conținute în tipurile XHTML 1.0 sau HTML. 4. În ciuda acestor excepții sau, eventual, datorită acestora, tipul 1.1 XHTML este o bază fiabilă pentru crearea de noi tipuri de documente În viitor, cu sprijinul deplin al diferiților agenți. Utilizatori.

Tipul XHTML 1.1 este compus din următoarele module XHTML.

Modulul structural al corpului, cap, HTML, modul de titlu pentru lucrul cu ABR, acronim, adresa, blocquote, br, cite, cod, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p pre, Q, Samp, Span, Strong, VAR HyperText Modulul A MODUL Listează DL, DT, DD, OL, UL, Li Obiect Obiect Modulul, modulul PARAM căi diferite Prezentări B, Big, HR, I, Modul mic, sub, sup, modul de editare TT Del, Insodul Bidirecțional Module BDDule BDDule Buton, set, formă, intrare, etichetă, legendă, selectați, optgroup, opțiune, textarea modulului tabletei, Colgroup, Table, Tbody, TD, Tfoot, TH, Tead, TR Modulul Imagine Modul Imagine Card Imagine Suprafața cartelei, Map Server Modul Imagine ISMAP inclus în IMG INTERN EVENIMENT MODUL MODULE Atribute Meta META MODUL META MODULE SCRIPTS NOScript, Stilul Modulului Script Modul de atribuire a stilului stilului de mese (învechite) Stil Atribute Link Module de link Modul de bază

XHTML utilizează, de asemenea, modulul de adnotare rubin:

Modulul Ruby Adnotați Ruby, RBC, RTC, RB, RT, RP

Numele modulelor din listă sunt date în funcție de definițiile lor în versiunea curentă a "modularizării XHTML". Mai multe informații despre module sunt conținute în documentul de modularizare XHTML.

Diferențele de la xhtml 1.0 stricte

XHTML 1.1 diferă de tehnologiile HTML 4 și XHTML 1.0. Cea mai semnificativă este eliminarea elementelor depășite. În general, există o strategie de identificare a limbajului de marcare din partea structurală și funcțională, indiferent de tabelele de stiluri utilizate pentru proiectarea documentelor.

Caracteristicile pot fi formulate după cum urmează:

  1. Atributul Lang este înlocuit cu atributul XML: Lang.
  2. În elementele A și Hartă, atributul de nume se înlocuiește cu atributul ID.
  3. Colectarea elementelor "Ruby" este extinsă.

Astfel, tipul XHTML 1.1 este puțin diferit de XHTML 1.0 strict, cu toate acestea, aceste diferențe sunt destul de semnificative și trebuie luate în considerare.

Când alegi Doctype. Este necesar să se decidă clar care dintre cele două standarde de a alege: HTML. sau XHTML.. Și pentru a vă facilita alegerea, am decis să dezasamblați diferența dintre HTML și XHTML.

Diferența principală dintre HTML și XHTML acea XHTML. Bazat pe sintaxă XML.. Și, prin urmare, este mai strictă și nu se poate permite să li se permită acelor libații care pot fi permise în HTML..

Și acum vom analiza funcții de sintaxă XHTML.:

1. Fiecare etichetă trebuie să se închidă

Etichetele asociate ar trebui închise și în HTML. Și noi toți știm asta HTML. Există multe etichete singulare (de exemplu,<img.\u003e), și am putea scrie cu îndrăzneală în acest fel:

Cu toate acestea, B. XHTML. Toate etichetele trebuie închise, chiar și single și sunt închise după cum urmează:

Diferența este numai în al doilea consola de colț.

2. Toți specialiștii ar trebui să fie înlocuiți cu esență.

Adică, este imposibil să scrie astfel: " & ", trebuie să scrieți acest simbol al esenței, adică" & ". In HTML. Nu există o astfel de regulă.

3. Toate valorile atributelor trebuie să fie în citate.

Știm cu toții asta HTML. Puteți scrie astfel:

Adică avem valoarea atributului " lăţime"Situat fără citate. În XHTML. Este inacceptabil și acolo trebuie să scrieți astfel:

4. Toate etichetele și atributele trebuie să fie scrise în litere mici.

Sincer, nu am înțeles niciodată de ce oamenii scriu etichete în majuscule. În opinia mea, îndeamnă codul, și sentimentul apare pe care l-a scris fără a apăsa " Majuscule."Dar dacă în HTML. - Aceasta este o chestiune de gust, apoi în XHTML. - Aceasta este o regulă: scrieți numai în litere mici.

După cum puteți vedea, diferența este numai în sintaxă. Există și alte diferențe mici, dar nu vom vorbi despre ei. Cu alte cuvinte, singurul avantaj XHTML. - E mai ușor document de parsare.. Precum și XHTML. Este foarte potrivit pentru iubitorii de cod "curat". Nu există avantaje. Toate browserele sunt afișate corect și HTML., I. XHTML.. Mai mult, adesea browsere XHTML. prelucrate ca. HTML., prin urmare vedere externă Serios diferențele în HTML și XHTML cu siguranta nu va.

M-am ales pentru mine XHTML.pentru că îmi place foarte mult când codul este "curat" și când dezasamblează cu ușurință componentele ( analizare). Da, și, în general, am obișnuit cu sintaxa strictă a altor limbi, de exemplu, Java, așa că voi scrie cât mai mult posibil. Și ce să vă alegeți - să vă rezolvați numai tu și despre caracteristici HTML și XHTML Deja știi.