07. januar 2005 - 18:48Der er
13 kommentarer og 2 løsninger
XHTML vs HTML 4.01 strict?
Jeg har læst oleboles artikler omkring emnet, og det giver meget mening, men...
"XHTML er primært noget, newbies bruger - fordi professionelle som oftest ved så meget om teknologierne, at de ved, XHTML er en håbløs teknologi at bruge for tiden. Der er ingen professionelle med respekt for sig selv og deres brugere, der skriver i XHTML." Citat fra olebole
Jeg forstår bare ikke den første sætning. Jeg har i lang tid læst på nettet omkring webstandards på forskellige sider, og jeg kan rigtig godt lide at arbejde med det. Jeg kiggede lige lidt af mine links igennem, og er det her de såkaldte newbies?
Den øverste sender content-type text/html, men siden ser ud til at være XHTML. Er det ikke præcis det Ole advarer imod?
Synes godt om
Slettet bruger
07. januar 2005 - 19:03#2
Der er ikke noget galt med XHTML da man med lidt god vilje kan omskrive sine XHTML dokumenter til ren XML og XLS.
Der hvor filmen knækker (som jeg har forstået det) er at man sender en header med som browseren fortolker som at det er en HTML fil. Og så skal din XHTML/XML parses som HTML, som går væsenligt langsommere fordi browseren skal tage højde for al den slamkode der normalt går hånd i hånd med HTML.
Det er min forståelse af problemstillingen. Browserne vil have forskellige headers alt efter det stadie af udvikling de er nået til, så du skal kode specifikt til hver browser for at det bliver cross-browser.
Og...når du nu alligevel bruger XHTML (som er en standard beregnet på migrationen fra HTML -> XML) så kan du jo lige så godt kode i HTML. Der er ingen der forbyder dig at bruge <div>'s og CSS i HTML. Og når XML så "letter" rigtigt kan du nemt omskrive din kode alligevel, da du så har afviklet dine dårlige vaner fra HTML (<center>, <font> osv.
Synes godt om
Slettet bruger
07. januar 2005 - 19:04#3
Så alt i alt...XML er mere end bare /> slut-tags ;)
En kedelig - men desværre realistisk - konlusion er: En skræmmende stor del af de, der bliver udråbt som WWW's guruer, ved ikke ret meget om web-kodning.
Til gengæld ynder de at citere hinanden og hvis tilstrækkeligt mange siger, de kan se guruens tøj, tror alle på, han har tøj på. Ingen tør sige, de ikke selv kan få øje på tøjet ... man vil jo nødigt udstille sin 'uvidenhed'. Same old story ... ;o)
PS: simplebits.com (og jeg har ikke checket resten) bruger document.write. Det kan man ikke, hvis man ønsker at få noget udaf XHTML (= at siden skal tolkes som XML). Den metode hører til under HTML, hvorfor HTML-parseren overtager behandlingen af siden - og XHTML skal altså behandles som fejlfyldt HTML af browseren.
Det samme gælder document-objektets andre collections (arrays, objekter eller hvad du vil kalde dem): document.images, document.forms, osv. De hører kun til under HTML og vil fremprovokere en XML-fejl i en browser, der kun parser XML.
Det fik jeg vist trykket lidt kluntet ud ... prøver igen:
simplebits.com (og jeg har ikke checket resten) bruger document.write. Det kan man ikke, hvis man ønsker at få noget udaf XHTML (= at siden skal tolkes som XML). Den metode hører til under HTML. Bruges den under XHTML1.0, overtager HTML-parseren behandlingen af siden - og XHTML-koden skal altså behandles som fejlfyldt HTML-kode af browseren.
Okay, mange tak for kommentarene. Det er virkelig helt til grin det her. At faktisk alle de store (såkaldte) web-gurus ikke ved ret meget om det :| Det er skræmmende - meget skræmmende.. Godt vi har vores egen lille webguru her på exp til at oplyse os! Ej, spøg til side, men er godt nok helt forvirret omkring det her.
Mange af dem har endda skrevet bøger omkring emnet. Jeg er dog overbevist om, at de ville have et svar rede.
Jeg checkede ned til Stu Nicholls. Ingen af siderne kan parses som XHTML - dels p.gr.a MIME sat af serveren - og dels HTML-DOM specifikke scripts. Stu-drengen slår dog rekorden ved at sende 'text/html' som MIME og derefter bruge denne: <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> Et begynderkursus i HTTP-protokollen ville kunne gøre vældig gavn dér :)
Derudover gemmer der sig bunker af misforstået CSS på disse sider. Hele grundtanken med CSS er at lave et sprog, der læner sig opad OOP (Objekt Orienteret Programering). Derfor har W3C svedt og svedt for at få konstrueret en teknologi, der bygger på nedarvning gennem klasser. Problemet er blot, at disse selvbestaltede CSS-guruer ikke har læst ordentligt på W3C - og pusher deres misforståede opfattelse af CSS. Den bygger på individuel placering/styling ved vildt overdreven brug af ID-selectors ... netop den slags uoverskuelig kode, W3C har forsøgt at modvirke med deres standard. Ak, ak .... :o|
PS: Hvad angår "Jeg er dog overbevist om, at de ville have et svar rede" tvivler jeg faktisk meget på det. Som oftest væver folk rundt med hår i munden uden at kunne begrunde noget fornuftigt - hvis de får stillet de rigtige spørgsmål.
Andre er for arrogante i deres selvforståelse til at svare. Jeg har f.eks. personligt påpeget problemet overfor www.html.dk - og peget på mine artikler her på sitet - men har aldrig hørt en lyd. Det er dybt problematisk, da de har ansvaret for at lære en masse danske begyndere om HTML-kodning.
For nogen mennesker er det åbenbart vigtigere at have noget stående på nettet, end at have noget korrekt stående på nettet.
Ja, men sådan vil det sikkert altid være. Det er ikke særlig smart af html.dk at ignorere din mail, men jeg vil gøre mit og smide rundt med links til dine artikler, samt begynde at prædike om det, når jeg får nok viden.
Som det er nu, vil det så være bedst at bruge html 4.01 strict eller xhtml 1.0 strict med KORREKT mime?
Jeg vil helt klart anbefale dig at bruge HTML4.01-Strict og tilpasse dine scripts, så du i mindre grad bruger document.write, document.images, document.forms - og i stedet bruger W3C's DOM-ECMA bindinger (f.eks: document.getElementById og document.getElementsByTagName). En property som innerHTML kan heller ikke bruges under XML/XHTML - der må du oprette separate element- og tekst-noder og append'e dem til et container-element:
var div, txt, br, bodyElm = document.getElementsByTagName("BODY")[0]; div = document.createElement("div"); div.id = "EnID"; bodyElm.appendChild(div);
txt = document.createTextNode("En linie ..."); div.appendChild(txt);
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.