DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   (X)HTML, JavaScript, DHTML, XML, CSS (http://www.devprotalk.com/forumdisplay.php?f=8)
-   -   XTML Strict vs Transitional (http://www.devprotalk.com/showthread.php?t=3995)

bluesman 14. 11. 2007. 22:39

XTML Strict vs Transitional
 
Juče sam pričao sa jednim klijentom kome treba da odradim nešto i malo me je iznenadio pitanjem: "vidim da sve radiš transitional, da li bi bio problem da uradiš strict". Nisam do sada imao klijenta sa takvim zahtevom, pošto sam do sada uvek radio "save as" prethodnog projekta u novi, pobrišem ono što je specifično za prethodni i krenem sa standardnom osnovom koja uključuje i header:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Moram da priznam da nisam nešto puno ni obraćao pažnju na to jer nisam od onih super-čistunaca koji ne mogu da spavaju ako im dokument nije 100% valid (da se razumemo, ovo nije prozivka istih, respect za takve, ja samo govorim šta nisam)... bitno mi je samo da radi kako treba.

Umesto da istražujem, možda neko može da mi kaže kakve su prednosti strict DTD i šta bi klijent koji insistira na tome eventualno dobio.

Koliko se sećam bilo je ovde nekih diskusija o stvarima koje nisu radile pod strict DTD, a rade sa transitional ili nekim drugim...

Kada smo kod strict, da li ga podržavaju browseri, i da li prave probleme. Da li da idem sa 1.1 ili 1.0?

Generalno da skratim... šta dobijam / gubim sa strict? Ili je to samo "fensi" fora kao "look ma' I am doing strict" ?

Dragan Babić 15. 11. 2007. 00:09

Tehnički (ako već idemo u tehnikalije) kada koristiš "xHTML 1.0 Strict" DTD - to znači da malo više vodiš računa o strukturi dokumenta, čistoći istog, itd. Kažem samo "znači da" - uopšte ne mora da znači, ali obično u velikom broju slučajeva ljudi koji koriste xHTML 1.0 Strict su baš ti "čistunci" kojima je stalo do toga da sve bude "cakum-pakum".

Sve što je u xHTML 1.0 Transitional će naravno raditi i u Strict, samo što u Strict nisu dozvoljeni elementi poput iframe itd. Takođe ako se ne varam postoji i problem sa quirks mode u IE6 (?) kada se koristi Transitional, ali ne mogu da tvrdim sada bilo šta.

Kada bi išli u najsitnije detalje - doctype koji bi trebali da koristimo je HTML 4.01 Strict

Kôd:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Iz razloga što bi xHTML trebao biti usluživan kao application/xml, umesto text/html kako ga sada uslužujemo zbog problema u IE. Naravno kada uslužuješ xHTML kao application/xml svaka sintaksna greška je fatalna i dokument prestaje sa parsiranjem ukoliko do nje dođe - u tom slučaju dokument mora biti validan.

ivanhoe 15. 11. 2007. 10:57

doctype sluzi da kazes browseru koji, jeli, tip dokumenta si mu poslao. Generalno nema apsolutno nikakve razlike da li saljes transitional ili strict (ako ga saljes kao text/html), jer browseri i dalje gledaju kroz prste za vecinu gresaka...

Osnovna razlika je kad pustis validator sto ce on koristiti taj odredjeni DTD za validaciju, pa ce se pod strict verovatno vise buniti. Za komplet listu atributa i elemenata koja je izbacena u strict DTD-u pogledaj ovo http://www.zvon.org/xxl/xhtmlReferen...omparison.html

@dragan: AFAIK ne postoji nikakav problem sa quirks modom i transitional DTD-om, quirks mode se pali ako nije definisan doctype uopste. Ja koristim xHTML transitional skoro uvek, mada si skroz u pravu za HTML 4.01 Strict, on je verovatno prikladniji

zhille 24. 11. 2007. 05:01

Ima ralike u supportu za odredjene atribute. Recimo primer da XHTML 1.0 Strict ne podrzhava atribut border u IMG tagu i kad proveravash stranicu, i kad radish validaciju recimo u DW, izbacuje ti warning ili error, pa ce s sigurno naci neki debil koji ce ti slati poruke tipa "e, nevalidan ti je kod" ...lol...

Glavno, u Strictu je izbachena podrshka za neke atribute, tagove, nametnuta su stroga pravila NESTINGA, ugnjezhdavanja...kako li se to vec zove.

dinke 24. 11. 2007. 12:52

U striktu target="_blank" nije dozvoljeno, mada se browseri nece buniti ako imas takav atribut u dokumentu, ali naravno nece proci validaciju.

OTPOR 25. 11. 2007. 21:23

"Princip je isti sve su ostalo nijanse"
Ono, bas te nijanse razdvajaju (X)HTML pismene od onih drugih.Kako god.
Validnost koda nije "fensi" (bilo Strict bilo Traditional).
Recimo da je to podizanje standarda web dizajna na jedan visi nivo koji mnogi ne razumeju.
Sve u svemu "tipujem" na Traditional zbog fleksibilnosti u radu.

ivanhoe 25. 11. 2007. 22:07

Citat:

Originalno napisao OTPOR (Napišite 47221)
"Princip je isti sve su ostalo nijanse"
Ono, bas te nijanse razdvajaju (X)HTML pismene od onih drugih.Kako god.
Validnost koda nije "fensi" (bilo Strict bilo Traditional).
Recimo da je to podizanje standarda web dizajna na jedan visi nivo koji mnogi ne razumeju.
Sve u svemu "tipujem" na Traditional zbog fleksibilnosti u radu.

sve je to lepo, slazem se, ali DTD nije traditional, nego transitional (u smislu prelazni izmedju prethodne i sledece strict verzije...)

Blood 26. 11. 2007. 12:51

Citat:

Originalno napisao dinke (Napišite 47181)
U striktu target="_blank" nije dozvoljeno, mada se browseri nece buniti ako imas takav atribut u dokumentu, ali naravno nece proci validaciju.

Za ovo se koristi jedan mali js, tipa xHTML strict ne dozvoljava target na a tag ali dozvoljava rel, pa mu preko rel-a i js-a dodelis funkciju kao da ima target blank, sto je po meni jako glupo.

Citat:

Originalno napisao OTPOR
Validnost koda nije "fensi" (bilo Strict bilo Traditional).
Recimo da je to podizanje standarda web dizajna na jedan visi nivo koji mnogi ne razumeju.

U neku ruku se slazem sa tobom, ali ne slazem se da ga mora forsirati po svaku cenu(validnost koda), ja bih radije stavio target="_blank" (govorim o prethodnom primeru) i znao da ce to raditi svima i onima sa iskljucenim js-om, nego drzao "validan" kod i razmisljao da li ce dati link otvoriti u novom prozoru kako sam zamislio ili nece..

noviKorisnik 26. 11. 2007. 16:27

Treba i razumeti zbog čega je to tako.

Moguće je da postoji razlog zbog čega je target atribut izbačen iz striktne verzije.

...

Mora da postoji razlog, inače su ti standardisti totalni moroni koji ne razumeju da web masteri vole da se korisniku otvaraju desetine prozora!

... ili samo štite interese korisnika i prepuštaju mu da sam odluči gde bi mu se otvarala nova stranica.

ivanhoe 26. 11. 2007. 17:50

Citat:

Originalno napisao noviKorisnik (Napišite 47259)
... ili samo štite interese korisnika i prepuštaju mu da sam odluči gde bi mu se otvarala nova stranica.

ja ipak mislim da su moroni... :D

salim se, naravno, a i mislim da je standard tako napravljen pre svega zbog kompatibilnosti sa mobilnim i ostalim egzoticnim browserima koji ne umeju da otvaraju nove prozore, ali mislim da tu postoje dva problema sa kojima autori standarda nisu racunali:
- upotreba vise prozora je ponekad smislena i opravdana, a korisnik obicno ne zna unapred sta je tacno u prozoru ili naprosto ne razmislja o tome, pa je pametnije da to moze da se jednostavno odredi unapred
- velika vecina korisnika ne ume da otvori link u novom prozoru, sve da im zivot zavisi od toga...

jablan 26. 11. 2007. 18:05

Citat:

Originalno napisao noviKorisnik (Napišite 47259)
Mora da postoji razlog, inače su ti standardisti totalni moroni koji ne razumeju da web masteri vole da se korisniku otvaraju desetine prozora!

Evo našao sam ovde jedno prilično logično objašnjenje:

Citat:

Drew McLellan: target="_blank" is deprecated because it suggests a behaviour. The ideal is that XHTML deals with the content, CSS with the presentation, and JavaScript with the behaviour. target="_blank" violates this, and is therefore deprecated.

nixa 26. 11. 2007. 18:16

Što i ima smisla ... i to prilično ..

bluesman 26. 11. 2007. 18:44

Pa ima u nekom idealnom svetu gde developer određuje pravila i postavi preambulu surferskog ustava: "ko nema uključen javascript - da mu rikne kewa".

Šta ćemo kada js ne može da odredi behaviour? Šta ćemo sa oglasima? Klik na banner, o ode surfer sa tvog sajta... a bar 50% nema pojma kako da se vrati nazad.

Onda ćemo imati navalu js popup-era koju naravno svi blokiraju ... i 'beš onda takav behaviour. Što bi rek'o Ice-T: "**** ain't like that".

OTPOR 26. 11. 2007. 22:50

e samo da objasnim zbog brzine kucanja uleteo mi "Traditional" umesto "Transitional"

A target atrubut? Pa nemam pojma Najnesrecniji odgovor je(e sad propadam u zemlju sto ovo pisem ) frameset tj.organizacija sajta na taj nacin(da posetilac ne ode nigd esa sajta kad klikne negde) Tako nekako,da ne razglabam sad.

Generalno jos jedan vise razlog da koristim Traditional hehe Salim se Transitional.

bluesman 27. 11. 2007. 00:55

Aj sad, otporas iz Vlasotince, nemo' se čupaš... traditional nego šta. Srbija, brate :) Još ćemo da napravimo i slavski DTD pa da vidiš traditional :)
- Koju slavu slavis?
- Sveti Traditional prepotpni velikomucenik

nixa 27. 11. 2007. 01:40

hahahahahaha ti si car :D

DejanVesic 27. 11. 2007. 13:29

Ono što je (meni) bitno je da su oba, i Transitional i Strict, validni XML dokumenti koji se, ako je potrebno, mogu procesirati bez problema drugim programimma / procesima.

Strict je previše strog (u odnosu na dnevni posao/potrebe):
  • IFRAME je izbačen, što je za gomilu RBW (redirection based wallet) smrt za implementaciju
  • <body> recimo mora da sadrži isključivo block elemente (nema ništa <img> bez <p> ili <div>)
  • Posebno smaranje je sa JavaScriptom; CDATA i ostale zezancije:
    Kôd:

    <script type="text/javascript">
    <![CDATA[
    document.onresize = moveLinks();
    ]]>
    </script>


Sve u svemu, zbog gomile problema, uvek bežim od Strict; i do sada nisam imao nekog posebnog razloga da zažalim zbog toga.

aleck 27. 11. 2007. 14:13

Citat:

Originalno napisao bluesman (Napišite 46694)
Umesto da istražujem, možda neko može da mi kaže kakve su prednosti strict DTD i šta bi klijent koji insistira na tome eventualno dobio.

Evo ti dobar tekst sa 24ways, sa par dobrih linkova o razlikama.

Strict ima par prednosti:

1. semantička čistost - forsira te validator da napišeš markup koji je potpuno očišćen od prezentacionih elemenata

2. trebalo bi su takve stranice lakše za svariti od strane browsera i samim tim brže
Pitanje je koliko je to tako u browserima, ali ako piše, zašto ne raditi.

Ja uvek koristim Strict, kad god mogu. Za sve zajebancije koje su uklonjene postoje fine lepe zamene, sem za jednu: start atribut kod OL elementa ne postoji u strict što je čista glupost.

DejanVesic 27. 11. 2007. 15:43

Hm, samo sekcija za brzinu:

- brzina parsiranja Strict i Transitional stranice je ista jer su oba validni XML dokumenti

Ako iza toga ima nešto što pravi razliku, ok; mada, čisto sumnjam :-)

jablan 27. 11. 2007. 18:36

Citat:

Originalno napisao DejanVesic (Napišite 47335)
Posebno smaranje je sa JavaScriptom; CDATA i ostale zezancije:

Ne bih da kvarim užitak, ali ako ne koristiš CDATA oko javaskripta, ni TraDitional ti neće biti validan XML dokument.

DejanVesic 27. 11. 2007. 22:25

Onda Validator @ W3.Org nema pojma:

http://validator.w3.org/check?uri=ht...w.vesic.org%2F

:-)

jablan 27. 11. 2007. 22:47

Ups, zaboravih da je JS uokviren komentarima... :)

ivanhoe 28. 11. 2007. 04:27

eh, ali sad i tu ima caka, sto ako JS stavis unutar komentara onda ne smes nigde u kodu da koristis -- dekrementiranje (unarni minus, kako se vec zove, --), jer je ilegalno da imas dve crtice unutar komentara... fun never stops :)

Ilija Studen 28. 11. 2007. 08:59

Ovo je po meni skroz OK:

1. Kada počinješ kršiš pravila jer nisi ni svestan da ista postoje (Dreamweaver + tabele za layout faza, eksperimentisanje, yada yada)

2. Počneš da učiš pravila i trudiš se da sajtovi prolaze validaciju, trošiš sive ćelije na kontanje razlike između Transitional i Strict, pratiš pisanija ljudi opsednutih web standardima etc

3. Kršiš pravila jer si svestan šta time gubiš i postižeš. Iskreno, morao bih biti ekstra pijan da mi padne na pamet da je serviranje Stricta kao application/xhtml+xml dobra ideja i da to koristim za komercijalnu aplikaciju. Jednostavno je NEBITNO, a moraš ekstra da se drndaš zbog toga.

Bottom line: većina dokumenata koje napravim su validni jer mi je ceo taj sistem ušao u rutinu i kod je znatno lakši za debugovanje, ali mirno spavam iako koristim target="_blank" i tabele za neke kompleksnije elemente za koje moram da se postaram da će raditi isto u svim browserima i da će biti rock-solid kada se na njih nakači gomila JavaScripta. Niko od activeCollab mušterija mi to do sada nije zamerio, a samo njihov glas vrednujem trenutno :D

jablan 28. 11. 2007. 09:18

Off Topic: @ivanhoe: Hvala Slavko, spas'o si mi život! :)

Mladjo 02. 05. 2008. 16:19

Sudeci po ovoj tabeli:
http://hsivonen.iki.fi/doctype/

Najbolje bi bilo koristiti <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> ili
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> jer su bez Quirks mode a Standards Mode and Almost Standards Mode podrzani od svih browsera.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Ima quirks mode u Konq 3.2 browseru za koji ja iskreno prvi put cujem. Pored toga u vecini browsera je almost standards mode. Ipak mislim da 1.0 transitional moze i treba uz malo paznje da se koristi. Vecina sajtova koje ja znam a posebno obracaju paznju na user experiance koriste 1.0 transitional.

ivanhoe 02. 05. 2008. 17:12

Konq je skraceno za Konqueror, standardni browser za linux KDE, nekad ces umesto Konqueror da vidis da pise kHTML, to je kodni naziv njegovog engine-a, koji se koristi u mnogim linux aplikacijama (tipa za html mail i sl.)

Paimonia 06. 06. 2008. 09:43

Укратко...
 
Citat:

Originalno napisao ivanhoe
sve je to lepo, slazem se, ali DTD nije traditional, nego transitional (u smislu prelazni izmedju prethodne i sledece strict verzije...)

То ти је та (X)HTML писменост. :)

Шалу на страну, исправан Strict XHTML би, у земљи снова, требало нешто брже да се обрађује и приказује. Једино 1.0 има смисла јер исправан 1.1 неће баш свугде да се види... То је она IE запетљанција.

У суштини, основна сврха Strict-а јесте да кажеш: "Е, види... Ја радим Strict.", ако занемариш припрему за 2.0 и web кроз 10 година од данашњице.

================================

Е, сад... Битно. Јесте ли погледали XHTML 2.0? Мени се допада како изгледа. Посебно узевши у обзир да ме је HTML 5.0 разочарао освртањем на претходне грешке и људе који ће их понављати, да је главна фора то што има header, footer и video, занима ме шта мислите о XHTML 2.0... Прво баците око на http://www.w3.org/TR/xhtml2/.


Vreme je GMT +2. Trenutno vreme je 01:02.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.