Ovo je srpski prevod dokumenta pod naslovom: 'XHTML 1.0: The Extensible HyperText Markup Language (Second Edition)'. Originalni i normativni tekst dokumenta nalazi se na adresi http://www.w3.org/TR/xhtml1/. Sve napomene u tekstu odnose se na originalni dokument, ne na ovaj prevod. Sva prava zadržava W3C.
Prevod na srpski: Luka Stanisavljević, kontakt: luka [na] cincplug [tačka] com. Slovne i jezičke greške i nedoslednosti u prevodu su moguće.
ћирилица - latinica
Molimo pogledajte eratu vezanu za ovaj dokument, ona možda uključuje i ispravke normativnog tipa. Pogledajte i prevode.
Ovaj dokument je raspoloživ i u sledećim ne-normativnim formatima: Višedelna XHTML datoteka, PostScript verzija , PDF verzija, ZIP arhiva i Gzip'd TAR arhiva.
Copyright ©2002 W3C® (MIT, INRIA, Keio). Sva prava su zadržana. Primenjuju se pravila W3C o odgovornosti, robnim znakovima, upotrebi dokumenata i softverskim dozvolama.
Ova specifikacija definiše drugo izdanje XHTML 1.0, reformulacije HTML 4 kao XML 1.0 aplikacije, i tri DTD koji odgovaraju onima definisanim u HTML 4. Semantika elemenata i njihovih atributa definisani su u W3C preporuci za HTML 4. Ova semantika čini temelj buduće rastegljivosti XHTML-a. Kompatibilnost sa postojećim HTML korisničkim agentima je moguća ako se prati nekoliko manjih smernica.
Ovaj deo opisuje status ovog dokumenta i vreme njegovog objavljivanja. Drugi dokumenti mogu da dođu na njegovo mesto. Najnoviji status ovog niza dokumenata održava se na W3C.
Ovaj dokument je drugo izdanje specifikacije XHTML 1.0 koje uključuje i promene u erati od 1. avgusta 2002. Razlike između ove verzije i prethodne Preporuke ilustrovane su u verziji sa označenim razlikama.
Ovo drugo izdanje nije nova verzija XHTML 1.0 (prvo izdanje je iz 26. januara 2000.). Izmene u ovom dokumentu odražavaju ispravke primenjene kao plod komentara od strane zajednice i kao rezultat tekućeg rada Radne grupe za HTML. Nema suštinskih izmena u ovom dokumentu - samo su objedinjene različite erate.
Lista poznatih grešaka u ovoj specifikaciji raspoloživa je na http://www.w3.org/2002/08/REC-xhtml1-20020801-errata.
Molimo prijavite greške u ovom dokumentu na www-html-editor@w3.org (arhiva), odnosno na adresu: luka [na] cincplug [tačka] com (ako uočite grešku u ovom srpskom prevodu). Javna rasprava o HTML pitanjima odvija se na mejling listi www-html@w3.org (arhiva).
Ovaj dokument je proizveden kao deo W3C HTML delatnosti. Ciljevi Radne grupe za HTML (samo za članove) objašnjeni su u Statutu Radne grupe za HTML.
U vreme objavljivanja, radna grupa veruje da nije bilo patenata relevantnih za ovu specifikaciju. Trenutna lista patenata relevantnih za ovu specifikaciju može se naći na strani za patente Radne grupe.
Lista trenutnih preporuka W3C i ostalih tehničkih dokumenata može se naći na http://www.w3.org/TR.
lang
i xml:lang
atributiOvo poglavlje je informativno.
XHTML je porodica sadašnjih i budućih tipova i modula dokumenata koji reprodukuju, razvrstavaju i proširuju HTML 4 [HTML4]. XHTML porodica tipova dokumenata se zasniva na XML-u, i u krajnjoj liniji su i zamišljeni da rade u spoju sa korisničkim agentima koji se zasnivaju na XML-u. O detaljima vezanim za ovu porodicu i njen razvoj raspravlja se podrobnije na [XHTMLMOD].
XHTML 1.0 (ova specifikacija) je prvi tip dokumenta u XHTML porodici. To je reformulacija tri HTML 4 tipa dokumenta u vidu aplikacija XML 1.0 [XML]. Namera je da se koristi kao jezik za sadržaj koji zadovoljava standarde XML, a uz pridržavanje nekoliko jednostavnih smernica koje slede, radi i na korisničkim agentima koji zadovoljavaju HTML 4. Oni koji prebace sadržaj u XHTML 1.0 shvatiće sledeće prednosti:
XHTML porodica je sledeći korak u razvoju Interneta. Prelaskom na XHTML danas, oni koji rade na sadržaju mogu da uđu u svet XML-a sa svim njegovim sadašnjim prednostima, a da i dalje ostanu uvereni da će njihov sadržaj ostati kompatibilan unazad i unapred.
HTML 4 [HTML4] je SGML (Standardni uopšteni znakovni jezik) aplikacija koja zadovoljava Međunarodni standard ISO 8879, i široko je prihvaćen kao standardni jezik za objavljivanje na Svetskoj mreži.
SGML je jezik koji opisuje znakovne jezike, posebno one koji se koriste u elektronskoj razmeni dokumenata, upravljanju dokumentima i njihovom objavljivanju. HTML je primer jezika definisanog u SGML-u.
SGML je tu od sredine 80-ih godina prošlog veka i ostao je prilično postojan. Ta postojanost proističe dobrim delom iz činjenice da je ovaj jezik bogat svojstvima i fleksibilan. Ta fleksibilnost, naravno, ima svoju cenu, a ta cena je u nivou složenosti koji je sprečio njegovo prihvatanje u mnoštvu okruženja, uključujući Svetsku Mrežu.
Kako je prvobitno zamišljen, HTML je trebalo da bude jezik za razmenu naučnih i drugih tehničkih dokumenata, podesan da ga koriste oni koji nisu stručnjaci za izradu dokumenata. HTML se ophodio prema problemu složenosti SGML-a određujući mali niz strukturnih i semantičkih etiketa pogodnih da se stvore relativno jednostavni dokumenti. Pored pojednostavljivanja strukture dokumenata, HTML je dodao podršku za hipertekst. Multimedijalne mogućnosti su dodate kasnije.
Za zaista kratko vreme, HTML je postao široko popularan i brzo je prerastao svoju prvobitnu namenu. Od začetka HTML-a, brzo su uvedeni novi elementi za upotrebu unutar HTML-a (kao standard) i za prilagođavanje HTML-a vertikalnim, visoko specijalizovanim tržištima. Ovo preobilje novih elemenata dovelo je do problema sa mogućnošću dokumenata da rade jedni s drugima na različitim platformama.
XML™ je skraćenica za Otvoreni znakovni jezik [XML].
XML je zamišljen kao način da se ponovo dostigne moć i fleksibilnost SGML-a a da se izbegne njegova složenost. Premda je on ograničena forma SGML-a, XML i dalje zadržava najveći deo moći i bogatstva SGML-a i sve njegove uobičajeno korišćene mogućnosti.
Zadržavajući ta korisna svojstva, XML uklanja mnoga složenija svojstva SGML-a koja čine stvaranje i razvoj pogodnog softvera kako teškim tako i skupim.
Prednosti prelaska na XHTML 1.0 su opisane ranije. Uopšteno, neke od prednosti prelaska na XHTML jesu:
Ovo poglavlje je normativno.
Sledeći izrazi koriste se u ovoj specifikaciji. Ovi izrazi proširuju definicije iz [RFC2119], zasnovane na sličnim definicijama u ISO/IEC 9945-1:1990 [POSIX.1]:
Ovo poglavlje je normativno.
Ova verzija XHTML-a daje definiciju Strogo zadovoljavajućih XHTML 1.0 dokumenata, koji su ograničeni na atribute i elemente iz imenskog prostora XML i XHTML 1.0. Vidi Poglavlje 3.1.2 radi informacije o upotrebi XHTML-a sa drugim imenskim prostorima, na primer kako uključiti meta-podatke izražene u RDF formatu u XHTML dokumente.
Strogo prihvatljivi XHTML dokument je XML dokument koji iziskuje jedino svojstva opisana kao obavezna u ovoj specifikaciji. Takav dokument mora da poštuje sva sledeća merila:
Mora da poštuje ograničenja izražena u jednoj od DTD koje se mogu naći među DTD i u Dodatku B.
Korenski element dokumenta mora biti html
.
Korenski element dokumenta mora da sadrži xmlns
deklaraciju za imenski prostor XHTML [XMLNS]. Imenski prostor za XHTML je definisan kao: http://www.w3.org/1999/xhtml
. Primer korenskog elementa mogao bi da izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sr" lang="sr">
Mora da postoji DOCTYPE deklaracija (deklaracija tipa dokumenta) u dokumentu pre korenskog elementa. Javni identifikator uključen u DOCTYPE deklaraciju mora da ukazuje na jednu od tri DTD koje se mogu naći u DTD uz upotrebu odgovarajućeg Formalnog Javnog Identifikatora. Sistemski identifikator može se promeniti da odrazi lokalne sistemske konvencije.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Podniz DTD ne sme se koristiti da bi se prevazišli parametarski entiteti u DTD.
XML deklaracija nije obavezna u svim XML dokumentima; naravno, autorima XHTML dokumenata se srdačno preporučuje da koriste XML deklaracije u svim svojim dokumentima. Takva deklaracija je obavezna kad je kodiranje karaktera u dokumentu drugačije od standardnog UTF-8 ili UTF-16 i kada kodiranje nije određeno protokolom višeg nivoa. Ovde je primer XHTML dokumenta. U ovom primeru, XML deklaracija je uključena.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sr" lang="sr"> <head> <title>Virtuelna biblioteka</title> </head> <body> <p>Preseljena na <a href="http://example.org/">example.org</a>.</p> </body> </html>
Imenski prostor XHTML može se koristiti sa ostalim imenskim prostorima XML namespaces as per [XMLNS], premda takvi dokumenti nisu Strogo zadovoljavajući XHTML 1.0 dokumenti po gornjoj definiciji. W3C radi na tome da dopre do načina da se odredi prihvatljivost dokumenata koji uključuju više imenskih prostora. Na primer, vidi [XHTML+MathML].
Sledeći primer pokazuje način na koji XHTML 1.0 može da se koristi u spoju sa Preporukom za MathML:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sr" lang="sr"> <head> <title>Primer iz računa</title> </head> <body> <p>Slede MathML znaci:</p> <math xmlns="http://www.w3.org/1998/Math/MathML"> <apply> <log/> <logbase> <cn> 3 </cn> </logbase> <ci> x </ci> </apply> </math> </body> </html>
Sledeći primer pokazuje način na koji XHTML 1.0 znaci mogu da se uključe u drugi imenski prostor XML-a:
<?xml version="1.0" encoding="UTF-8"?> <!-- u početku, standardni imenski prostor je "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="sr" lang="sr"> <title>Jeftinije za tuce</title> <isbn:number>1568491379</isbn:number> <notes> <!-- čini HTML standardnim imenskim prostorom za hipertekstualni komentar --> <p xmlns='http://www.w3.org/1999/xhtml'> Ovo se može naći i <a href="http://www.w3.org/">na mreži</a>. </p> </notes> </book>
Prihvatljivi korisnički agent mora da poštuje sva sledeća merila:
ID
(npr. id
atribut većine XHTML elemenata) kao fragmentske identifikatore.Proredom se rukuje prema sledećim pravilima. Sledeći znakovi su definisani kao [XML] znakovi za prored:
XML procesor normalizuje različite znake za kraj reda između različitih sistema u jedinstveni znak za NOVI RED, koji se predaje aplikaciji..
Korisnički agent mora da koristi definiciju iz CSS-a za obradu znakova za prored [CSS2]. Imajte na umu da preporuka o CSS2 ne obrađuje eksplicitno temu rukovanja proredom u nelatiničnim znakovnim nizovima. Ovo će se obraditi u budućoj verziji CSS, a tada će se ovaj ukaz osvežiti.
Imajte na umu da bi, radi stvaranja Kanonskog XHTML dokumenta, gore navedena pravila morala da se poštuju i da i pravila u [XMLC14N] moraju da se primene u dokumentu.
Ovo poglavlje je informativno.
Zbog činjenice da je XHTML jedna XML aplikacija, neke navike koje su bile savršeno legalne u HTML 4 [HTML4], koji se zasnivao na SGML-u, sada moraju da se menjaju.
Valjana oblikovanost je novi koncept uveden od strane [XML]-a. U suštini, to znači da svi elementi moraju ili da imaju zatvarajuće etikete ili da budu napisani u posebnom obliku (kao što je dole opisano), i da svi elementi moraju da se uklope kako treba.
Premda je preklapanje ilegalno i u SGML-u, postojeći brauzeri ga mahom dopuštaju.
PRAVILNO: uklopljeni elementi.
<p>ovo je kurzivom napisano <em>poglavlje</em>.</p>
NEPRAVILNO: preklopljeni elementi
<p>ovo je kurzivom napisano <em>poglavlje.</p></em>
XHTML dokumenti moraju da koriste mala slova za sva imena HTML elemenata i atributa. Ova razlika je neophodna jer je XML pravi razliku između velikih i malih slova, npr. <li> i <LI> su različite etikete.
U HTML 4 koji se zasnivao na SGML-u, kod nekih elemenata bilo je dozvoljeno da se preskoči završna etiketa; elementi koji bi sledili implicirali bi njihovo zatvaranje. XML ne dozvoljava da se završne etikete preskoče. Svi elementi sem onih koji su u DTD deklarisani kao EMPTY
, moraju da imaju završnu etiketu. Elementi koji su u DTD deklarisani kao EMPTY
mogu da imaju završnu etiketu ili mogu da koriste skraćenicu za prazne elemente (vidi Prazne elemente).
PRAVILNO: završeni elementi
<p>ovo je poglavlje.</p><p>ovo je drugo poglavlje.</p>
NEPRAVILNO: nezavršeni elementi
<p>ovo je poglavlje.<p>ovo je drugo poglavlje.
Sve vrednosti atributa moraju biti pod navodnicima, čak i one koje su numeričke.
PRAVILNO: vrednosti atributa pod navodnicima
<td rowspan="3">
NEPRAVILNO: vrednosti atributa nisu pod navodnicima
<td rowspan=3>
XML ne podržava minimizaciju atributa. Parovi vrednosti atributa moraju se napisati potpuno. Imena atributa kao što su compact
i checked
ne mogu da se pojavljuju u elementima bez određene vrednosti.
PRAVILNO: atributi nisu minimizovani
<dl compact="compact">
NEPRAVILNO: atributi su minimizovani
<dl compact>
Prazni elementi moraju ili da imaju završnu etiketu ili ili početna etiketa mora da se završi sa />
. Na primer, <br/>
ili <hr></hr>
. Vidi Smernice za kompatibilnost sa HTML-om radi informacije o načinima da se obezbedi da ovo bude kompatibilno sa starijim HTML 4 korisničkim agentima.
PRAVILNO: završeni prazni elementi
<br/><hr/>
NEPRAVILNO: nezavršeni prazni elementi
<br><hr>
Kad korisnički agenti obrađuju atribute, oni to čine u skladu sa Poglavljem 3.3.3 u [XML]:
U XHTML-u, script i style elementi su deklarisani da imaju #PCDATA
sadržaj. Kao rezultat, <
i &
će biti tretirani kao početak oznake, a entiteti kao što su <
i &
će biti prepoznati kao ukazi na entitete od strane XML procesora za <
i &
, zavisno od slučaja. Ubacivanje sadržaja script ili style elemenata u deo označen kao CDATA
, izbegavamo širenje ovih entiteta.
<script type="text/javascript"> <![CDATA[ ... sadržaj skripte koji nije izbegnut ... ]]> </script>
CDATA
delove raspoznaje XML procesor i pojavljuju se kao spojevi u Document Object Model, vidi Poglavlje 1.3 Preporuke DOM nivo 1 [DOM].
Drugo rešenje je da se koriste spoljni script i style dokumenti.
SGML daje onom ko piše DTD mogućnost da isključi neke elemente kao sadržaj elementa. Takve zabrane (zvane "isključenja") nisu moguće u XML-u.
Na primer, Stroga DTD u HTML 4 zabranjuje uklapanje 'a
' elementa unutar drugog 'a
' elementa do ma kakve dalje dubine. Nemoguće je sročiti takve zabrane u XML-u. Bez obzira što takve zabrane ne mogu da se definišu u DTD, neke elemente ne bi trebalo uklapati. Lista takvih elemenata i elemenata koji ne treba da se uklapaju unutar njih nalazi se u normativnim Zabranama elemenata .
HTML 4 je definisao name
atribut za elemente a
, applet
, form
, frame
, iframe
, img
i map
. HTML 4 je takođe uveo id
atribut. Oba ova atributa zamišljena su da se koriste kao fragmentski identifikatori.
U XML-u, fragmentski identifikatori su tipa ID
, u može da postoji samo jedan atribut tipa ID
po elementu. Zato, u XHTML 1.0, id
atribut se definiše kao atribut tipa ID
. Da bi se obezbedilo da XHTML 1.0 dokumenti budu valjano ustrojeni XML dokumenti, XHTML 1.0 dokumenti MORAJU da koriste id
atribut kad definišu fragmentske identifikatore u gore nabrojanim elementima. Vidi Smernice za kompatibilnost sa HTML-om radi informacije kako obezbediti da ovo bude kompatibilno unazad kad se XHTML dokumenti serviraju kao tip text/html
.
Imajte na umu da se, u XHTML 1.0, name
atribut ovih elemenata formalno gleda kao zastareo, i da će biti uklonjen iz naredne verzije XHTML-a.
I HTML 4 i XHTML imaju neke atribute sa pre-definisanim i ograničenim nizovima vrednosti (npr. type
atribut elementa input
). U SGML-u i XML-u, oni se zovu nabrojani atributi. Pod HTML 4, tumačenje ovih vrednosti nije vodilo računa o velikim i malim slovima, pa je vrednost TEXT
bila istovetna vrednosti text
. Pod XML-om, tumačenje ovih vrednosti vodi računa o velikim i malim slovima, i u XHTML 1 su sve ove vrednosti definisane malim slovima.
I SGML i XML dozvoljavaju ukaze na znakove upotrebom heksadecimalnih vrednosti. U SGML -u, za ove ukaze moglo se koristiti bilo &#Xnn; bilo &#xnn;. U XML dokumentima, morate koristiti verziju pisanu malim slovima (npr. &#xnn;)
Ovo poglavlje je normativno.
Premda nema obaveze da XHTML 1.0 dokumenti budu kompatibilni sa postojećim korisničkim agentima, u praksi je to lako postići. Smernice za stvaranje kompatibilnih dokumenata mogu se naći u Dodatku C.
XHTML dokumenti koji slede smernice postavljene u Dodatku C, "Smernice za kompatibilnost sa HTML-om", mogu se nasloviti kao Tip veze sa Internetom "text/html" [RFC2854], pošto su kompatibilni sa većinom HTML brauzera. Ti dokumenti i bilo koji drugi dokumenti koji zadovoljavaju ovu specifikaciju, mogu da se naslove i kao Tip veze sa Internetom "application/xhtml+xml", kao što je definisano u [RFC3236]. Za dalju informaciju o korišćenju Tipova veze u XHTML-u, vidi informativnu belešku [XHTMLMIME].
Ovaj dodatak je normativan.
Ove DTD i nizovi entiteta oblikuju normativni deo ove specifikacije. Celokupni niz DTD datoteka zajedno sa XML deklaracijom i Otvorenim Katalogom SGML ujljučen je u zip datoteku i u gzip'd tar datoteku za ovu specifikaciju. Korisnici koji traže lokalne kopije DTD s kojima bi radili trebalo bi da ih snime s mreže i da koriste te arhive radije nego da koriste određene DTD na koje je dole ukazano.
Ove DTD su približne onima u HTML 4. W3C preporučuje da koristite autoritativne verzije ovih DTDs na njihovim SISTEMSKIM identifikatorima kad proveravate sadržaj. Ako vam treba da koristite ove DTD lokalno, treba da snimite s mreže jednu od arhiva ove verzije. Radi potpunosti, normativne verzije DTD uključene su ovde:
Datoteka DTD/xhtml1-strict.dtd je normativni deo ove specifikacije. Sadržaj ove datoteke sa komentarima raspoloživ je u ovom odvojenom poglavlju radi potpunosti.
Datoteka DTD/xhtml1-transitional.dtd je normativni deo ove specifikacije. Sadržaj ove datoteke sa komentarima raspoloživ je u ovom odvojenom poglavlju radi potpunosti.
Datoteka DTD/xhtml1-frameset.dtd je normativni deo ove specifikacije. Sadržaj ove datoteke sa komentarima raspoloživ je u ovom odvojenom poglavlju radi potpunosti.
XHTML nizovi entiteta su isti kao i za HTML 4, ali su preinačeni da bi bili validne XML 1.0 deklaracije entiteta. Imajte na umu da je entitet za znak Evro valute (€
ili €
ili €
) definisan kao deo posebnih znakova.
Datoteka DTD/xhtml-lat1.ent je normativni deo ove specifikacije. Sadržaj ove datoteke sa komentarima raspoloživ je u ovom odvojenom poglavlju radi potpunosti.
Datoteka DTD/xhtml-special.ent je normativni deo ove specifikacije. Sadržaj ove datoteke sa komentarima raspoloživ je u ovom odvojenom poglavlju radi potpunosti.
Datoteka DTD/xhtml-symbol.ent je normativni deo ove specifikacije. Sadržaj ove datoteke sa komentarima raspoloživ je u ovom odvojenom poglavlju radi potpunosti.
Ovaj dodatak je normativan.
Za sledeće elemente važe zabrane vezane za elemente koje smeju da sadrže (vidi SGML isključenja). Ovakva zabrana važi za sve dubine uklapanja, tj. sadrži sve dalje elemente.
a
a
elemente.pre
img
, object
, big
, small
, sub
ili sup
elemente.button
input
, select
, textarea
, label
, button
, form
, fieldset
, iframe
ili isindex
elemente.label
label
elemente.form
form
elemente.Ovaj dodatak je informativan.
Ovo poglavlje sabira dizajnerske smernice za autore koji žele da se njihovi XHTML dokumenti prikazuju pravilno pomoću HTML korisničkih agenata. Imajte na umu da ova specifikacija ne određuje kako korisnički agenti koji odgovaraju HTML-u treba da obrađuju HTML dokumente. Niti određuje značenje Tipa veze s Internetom text/html
. Za ove definicije, vidi [HTML4] i [RFC2854] zavisno od slučaja.
Vodite računa da se instrukcije za obradu prikazuju na nekim korisničkim agentima. Takođe, neki korisnički agenti tumače XML deklaraciju kao da znači da je dokument nepoznatog tipa XML umesto da je HTML, i da zato možda neće prikazati dokument kako se očekuje. Radi kompatibilnosti sa ovim tipovima starijih brauzera, možda bi ste hteli da izbegnete korišćenje instrukcija za obradu i XML deklaracije. Zapamtite, naravno, da kad XML deklaracija nije uključena u dokument, taj dokument može da koristi samo standardno kodiranje znakova: UTF-8 ili UTF-16.
Uključite prored pre završnog /
i >
u praznim elementima, npr. <br />
, <hr />
i <img src="karen.jpg" alt="Karen" />
. Takođe, koristite minimizovanu sintaksu za etikete kod praznih elemenata, npr. <br />
, pošto alternativna sintaksa <br></br>
, koja je dozvoljena u XML-u, daje nepredviđene rezultate kod mnogih postojećih korisničkih agenata.
Kada je element prazan, a model njegovog sadržaja nije EMPTY
(na primer prazan naslov ili poglavlje) ne koristite minimizovani oblik (npr. koristite <p> </p>
a ne <p />
).
Koristite spoljne definicije stila ako vaše definicije stila koriste <
ili &
ili ]]>
ili --
. Koristite spoljne skripte ako vaše skripte koriste <
ili &
ili ]]>
ili --
. Imajte na umu da XML čitačima dozvoljeno da tiho uklone sadržaj komentara. Zato, navika iz prošlosti da se skripte i definicije stila "kriju" unutar "komentara" da bi se dokumenti učinili kompatibilnim unazad verovatno neće raditi kako se očekuje u korisničkim agentima na bazi XML-a.
Izbegavajte nove redove ili više puta ponovljene znakove za prored unutar vrednosti atributa. Korisnički agenti ih različito tumače.
Ne uključujte više od jednog isindex
elementa u head
deo dokumenta. isindex
element je zastareo, i zamenio ga je element input
.
lang
i xml:lang
atributiKoristite i lang
i xml:lang
atribute kad određujete jezik elementa. Vrednost xml:lang
atributa ima prednost.
U XML-u, URI-ukazi [RFC2396] koji se završavaju fragmentskim identifikatorima oblika "#foo"
ne ukazuju na elemente sa atributom name="foo"
; oni pre ukazuju na elemente sa atributom definisanim da pripada tipu ID
, npr., id
atribut u HTML 4. Mnogi postojeći HTML klijenti ne podržavaju upotrebu atrributa tipa ID
na ovaj način, tako da za oba atributa mogu da se stave istovetne vrednosti, da bi se obezbedila maksimalna kompatibilnost unapred i unazad, (npr., <a id="foo" name="foo">...</a>
).
Dalje, pošto je niz legalnih vrednosti za atribute tipa ID
mnogo manji nego kod ovih tipa CDATA
, tip name
atributa je promenjen u NMTOKEN
. Ovaj atribut je ograničen time što može imati jedino iste vrednosti kao i tip ID
, ili kao produkt Name
u XML 1.0 Poglavlje 2.3, produkt 5. Nažalost, ovo ograničenje se ne može izraziti u XHTML 1.0 DTD-ima. Zbog ove izmene, mora se voditi računa kad se konvertuju postojeći HTML dokumenti. Vrednosti ovih atributa moraju biti jedinstvene unutar dokumenta, validne, i svi ukazi na ove fragmentske identifikatore (kako unutrašnji tako i spoljni) moraju se obnoviti ako se vrednosti promene pri konverziji.
Imajte na umu da je zbirka legalnih vrednosti u XML 1.0 Poglavlje 2.3, produkt 5 mnogo veća nego što je dozvoljeno da se koristi u ID
i NAME
tipovima definisanim u HTML 4. Kad se definišu fragmentski identifikatori tako da budu kompatibilni unazad, trebalo bi da se koriste samo nizovi koji se podudaraju s modelom [A-Za-z][A-Za-z0-9:_.-]*
. Vidi Poglavlje 6.2 u [HTML4] za više informacija.
Najzad, imajte na umu da se u XHTML 1.0 name
atribut smatra zastarelim u elementima a
, applet
, form
, frame
, iframe
, img
i map
, i da će biti uklonjen iz XHTML-a u verzijama koje slede.
Kroz istoriju, kodiranje znakova u HTML dokumentu je određivao ili mrežni server kroz charset parametar u HTTP Content-Type zaglavlju, ili dokument sam kroz meta
element. U XML dokumentu, kodiranje znakova je određeno u XML deklaraciji (npr., <?xml version="1.0" encoding="EUC-JP"?>
). Kako bi se prenosivo prikazali dokumenti sa određenim kodiranjem znakova, najbolji pristup je da se obezbedi da mrežni server da ispravna zaglavlja. Ako ovo nije moguće, dokument koji želi da eksplicitno ustanovi svoje kodiranje znakova mora da uključi i XML deklaraciju na deklaraciji kodiranja i meta
http-equiv izjavu (npr., <meta http-equiv="Content-type" content="text/html; charset=EUC-JP" />
). Kod korisničkih agenata u skladu sa XHTML-om, vrednost deklaracije kodiranja u XML deklaraciji ima prednost.
Imajte na umu: ako dokument mora da ima deklaraciju o kodiranju u meta http-equiv izjavi, taj dokument može uvek da se tumači od strane HTTP servera i/ili korisničkih agenata kao da pripada tipu veze sa internetom koja se definiše u toj izjavi. Ako dokument treba da se servira kroz više tipova veze, mora se koristiti HTTP server za određivanje kodiranja u dokumentu.
Neki HTML korisnički agenti nisu sposobni da tumače Bulove atribute (atribute sa dve moguće vrednosti - pozitivnom i negativnom, prim.prev.) kad se ovi pojavljuju u svom punom (neminimizovanom) obliku, kakav zahteva XML 1.0. Imajte na umu da se ovaj problem ne odnosi na korisničke agente u skladu sa HTML 4. Sledeći atributi su u pitanju: compact
, nowrap
, ismap
, declare
, noshade
, checked
, disabled
, readonly
, multiple
, selected
, noresize
, defer
.
Preporuka za Objektni model dokumenta, nivo 1 [DOM] definiše interfejse za Objektni model dokumenta u XML i HTML 4. Objektni model dokumenta kod HTML 4 određuje da se imena HTML elemenata i atributa vraćaju velikim slovima. Objektni model dokumenta kod XML određuje da se imena elemenata i atributa vraćaju onakvim slovima kakvim su određena. U XHTML 1.0, elementi i atributi su specifikovani malim slovima. Ova vidna razlika može se rešiti na dva načina:
text/html
preko DOM mogu da koriste HTML DOM, i mogu da se oslone na imena elemenata i atributa koja se sa ovih interfejsa vraćaju velikim slovima.text/xml
, application/xml
i application/xhtml+xml
mogu da koriste i XML DOM. elementi i atributi će se vratiti malim slovima. Takođe, neki XHTML elementi mogu i ne moraju da se pojave u stablu objekta jer su opcioni u modelu sadržaja (npr. tbody
element unutar table
). Ovo se dešava jer je u HTML 4 nekim elementima bilo dozvoljeno da budu minimizovani tako da im se i početne i završne etikete izostave (svojstvo SGML-a). To nije moguće u XML-u. Da ne bi iziskivao da autori dokumenata unose dodatne elemente, XHTML je ove elemente učinio opcionim. Korisnički agenti treba da se ovome prilagode. Za više informacija o ovoj temi, vidi [DOM2]I u SGML-u i u XML-u, znak za ampersand ("&") izjavljuje početak ukaza na entitet (npr. ® za registrovani robni znak "®"). Nažalost, mnogi HTML korisnički agenti su prećutno ignorisali nepravilnu upotrebu znaka za ampersand u HTML dokumentima - tretirajući ampersande, koji ne izgledaju kao ukazi na entitet, kao bukvalne ampersande. Korisnički agenti na bazi XML-a neće tolerisati ovu nepravilnu upotrebu, i nijedan dokument koji nepravilno koristi ampersand neće biti "validan", a samim tim neće odgovarati ni ovoj specifikaciji. Kako bi obezbedili da dokumenti budu kompatibilni i sa starim HTML korisničkim agentima i sa korisničkim agentima na bazi XML-a, ampersandi koji se koriste u dokumentu a treba ih tretirati doslovno kao znakove moraju se izraziti kroz ukaz na entitet (npr. "&
"). Na primer, kad href
atribut elementa a
ukazuje na CGI skriptu koja uzima parametre, mora se izraziti kao http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
a ne kao http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
.
Preporuka za Cascading Style Sheets (Nizove stilskih tablica), nivo 2 [CSS2] definiše svojstva stila koja se primenjuju u iščitavanju HTML ili XML dokumenata. Razlike u iščitavanju će proizvesti različite vizuelne i auditivne rezultate, zavisno od selektora koji se koriste. Sledeći saveti će smanjiti ovaj efekat za dokumente koji se serviraju bez modifikacije za oba tipa veze:
U HTML 4 i XHTML-u, element style
može se koristiti da definiše interna pravila za stil u dokumentu. U XML-u, za određivanje pravila stila koristi se XML deklaracija za stilsku tablicu . Kako bi bili kompatibilni sa ovom konvencijom, style
elementi treba da imaju svoje fragmentske identifikatore određene id
atributom, a XML deklaracija za stilsku tablicu treba da ukazuje na ovaj fragment. Na primer:
<?xml-stylesheet href="http://www.w3.org/StyleSheets/TR/W3C-REC.css" type="text/css"?> <?xml-stylesheet href="#internalStyle" type="text/css"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sr" lang="sr"> <head> <title>Interni primer stilske tablice</title> <style type="text/css" id="internalStyle"> code { color: green; font-family: monospace; font-weight: bold; } </style> </head> <body> <p> Ovo je tekst koji koristi našu <code>internu stilsku tablicu</code>. </p> </body> </html>
Neki znakovi koji su legalni u HTML dokumentima nisu legalni u XML dokumentu. Na primer, u HTML-u, znak "Formfeed" (U+000C) se tretira kao prored, a u XHTML-u, zbog XML definicije znakova, on je ilegalan.
Imenovani ukaz na znak '
(apostrof, U+0027) je uveden u XML 1.0 ali se ne pojavljuje u HTML. Autori bi zato trebalo da koriste '
umesto '
da bi radio kako se očekuje u HTML 4 korisničkim agentima.
Ovaj dodatak je informativan.
Ova specifikacija je napisana uz učešće članova W3C HTML Radne grupe.
Pri objavljivanju drugog izdanja, članovi su bili:
Pri objavljivanju prvog izdanja, članovi su bili:
Ovaj dodatak je informativan.