Informativno-zabavni portal
Pretraga sajta

Pojmovnik pojmova. Razlika između HTML-a i XHTML-a Svi specijalni znakovi moraju biti zamijenjeni entitetima

Razvoj HTML-a je, u određenom smislu, došao u ćorsokak - nove oznake više nisu potrebne, jer su postojeći dovoljni, a osim toga, naglasak u razvoju web stranica prebačen je na stilove koji proširuju mogućnosti dizajna dokumenata. . Naravno, CSS ni na koji način ne zamjenjuje HTML, ali vam omogućava korištenje ograničenog skupa oznaka, a izgled elemenata, njihov položaj i različiti parametri mogu se specificirati kroz stilove.

Određeno ograničenje HTML-a je to što pripada formalnim jezicima, u smislu da su oznake i njihova hijerarhijska struktura strogo opisani u specifikaciji. Stoga XML postaje sve popularniji, pomoću kojeg možete kreirati vlastite oznake i formirati njihovu strukturu. Razlika između HTML-a i XML-a nisu samo oznake, već i pravila za pisanje koda. Kada radi sa HTML-om, pretraživač „zažmuri” na razne manje nedostatke i nedostatke u strukturi ili na činjenicu da atribut nije ispravno specificiran. Takvi trikovi ne rade sa XML-om, pa će pretraživač generisati grešku da dokument nije pravilno formiran.

Kako bi se programeri naučili "pravi" način razmišljanja, promijenili stil kodiranja i premostili jaz između HTML-a i XML-a, XHTML je razvijen kao međukorak između njih.

XHTML (EXtensible HyperText Markup Language) je namijenjen da zamijeni HTML i smatra se njegovom strožom verzijom. Općenito, W3C definira XHTML kao najnoviju verziju HTML-a, koja će ga postepeno zamijeniti. Da li će to zaista biti slučaj, pokazaće vreme.

Ako razmišljamo o nekom idealnom kodu web stranice, možemo ga uporediti sa programom koji neće kompajlirati dok se sve greške ne isprave. Pretraživač djeluje kao kompajler i ne prikazuje dokument ako ne ispunjava specifikacije. XHTML, zadržavajući sve karakteristike HTML-a, uvodi stroža pravila za kreiranje stranica kako bi se približili "idealnom" kodu. Ovo vam omogućava da web lokacije učinite nezavisnim od uređaja za prikaz i pretraživača. Drugim riječima, stranica će biti ispravno prikazana u svim modernim pretraživačima i platformama kao što su računari, pametni telefoni, PDA uređaji, netbookovi itd.

U stvarnosti, sve je prizemnije. Programeri pretraživača ne mogu sebi priuštiti da svoje zamisli rade samo s "ispravnim" kodom. A sve zbog činjenice da većina web lokacija na svijetu jednostavno neće biti prikazana u takvom pregledniku. Za ovakvo stanje krivi su i programeri i korisnici. Prvi nisu pružili odgovarajuću podršku za specifikaciju u svojim pretraživačima, a drugi se nisu trudili da je prate.

Iz ovih razloga, XHTML 1.x je samo privid HTML-a, ali sa strožom sintaksom, a ne obećavajući jezik za označavanje na koji se definitivno vrijedi prebaciti zbog njegovih jedinstvenih mogućnosti.

Članak je zasnovan na originalnom W3C dokumentu - XHTML™ 1.1 - XHTML baziran na modulu - Drugo izdanje: W3C radni nacrt 16. februara 2007. Može se promijeniti, ali će vjerovatno zamijeniti postojeću preporuku - XHTML™ 1.1 - XHTML zasnovan na modulu.

Strogo poštovanje dokumenata

Dokumenti koji su u potpunosti usklađeni sa XHTML 1.1 moraju ispunjavati sljedeće kriterije:

  • Osnovni element dokumenta mora biti element.
  • Osnovni element dokumenta () mora pokazivati ​​na XHTML imenski prostor koristeći atribut xmlns. Indikator prostora imena za XHTML je "http://www.w3.org/1999/xhtml", to jest, početna html oznaka treba da bude konstrukcija kao što je: .
  • Korijenski element također može sadržavati atribut schemaLocation. Atribut schemaLocation za XHTML je definiran kao: "http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd" .
  • Mora postojati deklaracija tipa dokumenta DOCTYPE koja prethodi korijenskom elementu. Identifikator uključen u DOCTYPE deklaraciju mora pokazivati ​​na odgovarajući DTD. Ovaj identifikator može izgledati ovako:
  • Evo primjera dokumenta koji je usklađen sa XHTML 1.1:

    Virtuelna biblioteka

    Premješteno na example.org.

    Imajte na umu da je u ovom primjeru uključena XML deklaracija. XML deklaracija poput one iznad nije potrebna u svim XML dokumentima. Autori XHTML dokumenata se snažno ohrabruju da koriste XML deklaraciju u svim svojim dokumentima. Ova deklaracija je potrebna kada kodiranje XML dokumenta nije UTF-8 ili UTF-16.

    XHTML 1.1 dokumenti bi trebali specificirati tip sadržaja dokumenta kao tekst/html ili aplikacija/xhtml+xml.

    Naravno, korisnički agenti (na primjer, pretraživači) sa svoje strane također bi trebali uzeti u obzir ove preporuke.

    XHTML 1.1 tip dokumenta

    XHTML 1.1 je potpuno funkcionalan tip dokumenta sa naprednom semantikom. Međutim, nije toliko funkcionalno raznolik kao tipovi XHTML 1.0 Transitional ili XHTML 1.0 Frameset. Počevši od XHTML 1.1, tip dokumenta ne sadrži zastarjele elemente sadržane u tipovima XHTML 1.0 ili HTML 4. Uprkos ovim izuzecima, ili možda zbog njih, tip XHTML 1.1 pruža solidnu osnovu za kreiranje novih tipova dokumenata u budućnosti. puna podrška od raznih korisnika agenata.

    Tip XHTML 1.1 se sastoji od sljedećih XHTML modula.

    Strukturni modul tijelo, glava, html, naslov Modul za rad sa tekstom abbr, akronim, adresa, blok citat, br, cite, kod, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var Hipertekst modul a List modul dl, dt, dd, ol, ul, li Objekt modula objekta, param Modul različitih metoda predstavljanja b, big, hr, i, small, sub, sup , tt Modul za uređivanje del, ins Dvosmjerni modul podrške tekstu bdo Dugme modula obrasca, skup polja, obrazac, unos, oznaka, legenda, odabir, optgroup, opcija, textarea Naslov modula tabele, col, colgroup, tablica, tbody, td, tfoot, th , thead, tr Modul slike img Područje modula mape slike na klijentskoj strani, mapa Modul mape slike na serverskoj strani atribut ismap uključen u img modul internih događaja Atributi događaja Meta informacijski modul meta Skriptni modul noscript, skripta Stil modula stilskog lista Modul atributa stila (zastarjelo) Stil atribut Link modula veza Osnovna baza modula

    XHTML također koristi Ruby Annotation modul:

    Ruby anotacijski modul ruby, rbc, rtc, rb, rt, rp

    Nazivi modula na listi su dati prema njihovim definicijama u trenutnoj verziji XHTML Modularizacije. Za više informacija o modulima pogledajte dokument XHTML Modularizacija.

    Razlike od XHTML 1.0 Strict

    XHTML 1.1 se razlikuje od HTML 4 i XHTML 1.0 tehnologija. Najznačajnije je eliminacija zastarjelih elemenata. Općenito, postoji strategija za definiranje jezika za označavanje iz strukturalne i funkcionalne perspektive, bez obzira na stilove koji se koriste za dizajn dokumenta.

    Razlike se mogu formulirati na sljedeći način:

  • Atribut lang je zamijenjen atributom xml:lang.
  • U elementima a i mape, atribut name je zamijenjen atributom id.
  • Kolekcija Ruby elemenata je proširena.
  • Dakle, tip XHTML 1.1 se ne razlikuje mnogo od XHTML 1.0 Strict, međutim, ove razlike su prilično značajne i moraju se uzeti u obzir.

    Kada birate DOCTYPE, morate jasno odlučiti koji od dva standarda odabrati: HTML ili XHTML. A kako bih vam olakšao izbor, odlučio sam pogledati razliku između HTML-a i XHTML-a.

    Glavna razlika između HTML-a i XHTML-a je u tome što je XHTML zasnovan na XML sintaksi. Stoga je strožiji i ne može dozvoliti iste slobode koje se mogu dozvoliti u HTML-u.

    Pogledajmo sada karakteristike XHTML sintakse tačku po tačku:

    1. Svaki tag se mora zatvoriti

    Uparene oznake također moraju biti zatvorene u HTML-u, ali svi znamo da u HTML-u postoji mnogo pojedinačnih oznaka (na primjer, ), i mogli bismo sigurno pisati na ovaj način:

    Međutim, u XHTML-u sve oznake moraju biti zatvorene, čak i pojedinačne, a zatvaraju se na sljedeći način:

    Jedina razlika je kosa crta prije druge ugaone zagrade.

    2. Svi specijalni znakovi moraju biti zamijenjeni entitetima

    Odnosno, ne možete pisati ovako: "&", ovaj simbol morate napisati samo sa suštinom, odnosno "&". U HTML-u ne postoji takvo pravilo.

    3. Sve vrijednosti atributa moraju biti u navodnicima.

    Svi znamo da u HTML-u možete napisati ovako:

    To jest, imamo vrijednost atributa "width" bez navodnika. Ovo je neprihvatljivo u XHTML-u i morate to napisati ovako:

    4. Sve oznake i atributi moraju biti napisani malim slovima.

    Da budem iskren, nikad nisam razumio zašto ljudi pišu oznake velikim slovima. Po mom mišljenju, ovo deformiše kod, i čini se kao da je napisan bez pritiskanja "CAPSLOCK". Ali ako je u HTML-u stvar ukusa, onda je u XHTML-u pravilo: pisati samo malim slovima.

    Kao što vidite, jedina razlika je u sintaksi. Postoje i druge manje razlike, ali nećemo o njima. Drugim riječima, jedina prednost XHTML-a je lakše raščlanjivanje dokumenata. XHTML je takođe veoma pogodan za ljubitelje "čistog" koda. Nema više prednosti. Svi pretraživači ispravno prikazuju i HTML i XHTML. Štaviše, pretraživači često obrađuju XHTML kao HTML, tako da definitivno neće biti velikih razlika u izgledu između HTML-a i XHTML-a.

    Za sebe sam izabrao XHTML jer jako volim kada je kod “čist” i kada se lako može raščlaniti na sastavne dijelove (parsing). Da, i općenito sam navikao na strogu sintaksu drugih jezika, na primjer, Java, pa ću i dalje pisati što je moguće validnije. Na vama je da odlučite šta ćete izabrati, a već znate o razlikama između HTML-a i XHTML-a.

    XHTML je jezik za označavanje hiperteksta baziran na XML-u koji je što je moguće bliži trenutnim HTML standardima. XHTML se razlikuje od HTML-a po strogosti kodiranja. Ako vam je HTML omogućio da napišete gotovo bilo koju konstrukciju i pretraživač ih je ispravno prepoznao, sada, s pojavom XHTML-a, to je postalo nemoguće. Ovo posljednje zahtijeva strogo poštovanje svih pravila koja nameće W3C. Strogi zahtjevi za dizajn XHTML koda omogućavaju vam da izbjegnete mnoge greške čak iu fazi pisanja i otklanjanja grešaka.

    Za pristalice HTML-a, želio bih napomenuti da je XHTML novi jezik koji je zamijenio stari HTML. Neće više biti novih verzija HTML-a. Na kraju se očekuje da svi pretraživači pređu na XHTML (očigledno održavajući kompatibilnost sa starijim HTML-om, ali ništa više). Također bismo željeli citirati iz ruskog prijevoda XHTML specifikacije iz W3C: „Porodica XHTML je stvorena imajući na umu cjelokupnu interoperabilnost korisničkih agenata uz pomoć novog mehanizma za profiliranje korisničkih agenata i dokumenata, servera. proksiji i korisnički agenti će moći da transformišu sadržaj na najbolji mogući način.

    XHTML je kompatibilan sa HTML-om podložan određenim pravilima, čiji se opis može naći u standardu. To znači da će čak i najstariji pretraživači koji razumiju HTML također raditi sa XHTML-om.

    Za provjeru ispravnosti XHTML koda postoje validatori. Osim toga, korisnički agenti koji podržavaju XHTML prijavit će vam sintaksičke greške ako se dogode.

    Razlike između XHTML 1.0 i HTML-a. Postoji nekoliko zahtjeva koje programer mora ispuniti:
    • jedan od mogućih DTD (Definicija tipa dokumenta) mora biti naznačen na početku dokumenta:
    • Tijelo XHTML dokumenta mora sadržavati sljedeće oznake: html, glava, naslov I tijelo;
    • atribut mora biti prisutan xmlns u elementu html;
    • imena oznaka i atributa moraju biti napisana malim slovima;
    • sve vrijednosti atributa moraju biti stavljene u navodnike;
    • sve oznake moraju biti zatvorene; Ako element nema završnu oznaku, trebali biste dodati kosu crtu (
      ili
      — prostor za kompatibilnost sa starijim pretraživačima);
    • Potrebno je paziti na ispravno ugniježđenje oznaka ( tekst - netačno; treba napisati tekst );
    • zabranjeno je koristiti minimizirane atribute ( nowrap treba zamijeniti sa nowrap="nowrap"); potpuna lista takvih atributa: provjereno, kompaktan, proglasiti, odgoditi, onemogućeno, ismap, noresize, noshade, nowrap, višestruko, samo za čitanje, odabrano.
    • Sljedeći elementi podliježu ograničenjima uključivanja drugih elemenata unutar njih:
      • a a;
      • formu ne može sadržavati druge elemente formu;
      • etiketa ne može sadržavati druge elemente etiketa;
      • pre ne može sadržavati img, objekt, veliki, mala, sub ili sup;
      • dugme ne može sadržavati elemente unos, izaberite, textarea, etiketa, dugme, formu, fieldset, iframe ili isindex;
    • posebni znakovi u pravom značenju moraju se zamijeniti njihovim ekvivalentima:
      • & on & ;
      • < on < ;
      • > on > .

    Osim toga, postoji niz neobaveznih preporuka koje programer nije dužan slijediti u verziji XHTML 1.0, ali u narednim verzijama ovog jezika preporuke se mogu razviti u zahtjeve:

    • deklaracija XML dokumenta na samom početku koda prije DTD ( );
    • element koji slijedi naslov odmah nakon otvaranja etikete glava;
    • upotreba atributa id umjesto ime(ime se smatra zastarjelim atributom);
    • prisustvo atributa tipa u elementima uključenih datoteka (stilovima i skriptama);
    • odbijanje upotrebe atributa cilj.

    Evo minimalnog koda za ispravnu XHTML stranicu:

    Sadržaj naslovnog dokumenta

    Ako zalijepite ovaj kod u datoteku, snimite je kao "file.html" i otvorite preko web servera, klijent će sve informacije primiti kao >text/html*/-->

    Ova sintaksa je univerzalna. Ovaj kod će raditi ispravno za oba.

    Dobro i najjednostavnije rešenje bi bilo povezivanje eksternih fajlova sa stilovima i skriptama. U XHTML-u se to radi na isti način kao u HTML-u: