25. juli 2005 - 13:55Der er
86 kommentarer og 1 løsning
XHTML - Hvad 'De Skriftkloge' ikke fortæller dig
Hej eksperter.
jeg har lige læst begge dele af olebole's "XHTML - Hvad 'De Skriftkloge' ikke fortæller dig - (Del 2)"
Og sidder nu at tænker på hvad der er bedst at gøre for at værne sig mod fremtiden, og for at være forberedt på det der kommer.
Jeg startede selv med at rode med html under browser krigen, som nok var på dens højeste i 94-97 (startede i 95)
Og kan dermod huske at der var UTALLIGE sider rundt omkring med framesets som kun kunne ses i IE, pga at folk ikke havde afsluttet deres frameset tags.
Af samme grund har jeg prøvet i mange år at opnå samme resultater i NS4* som man på daværende tidspunkt kunne i IE.
Og det var faktisk ikke så svært hvis man gider bruge lidt tid på at lave en del af det grafisk og dermed optimere grafikken så meget som muligt, for ikke at overskride de 10-15kb limit der dengang var.
Jeg ved godt at der findes utallige sider rundt omkring som delvist beskriver XML/XHTML for begyndere, men syntes det ville være bedre med kyndig hjælp på eksperten, for at nå flest mulige brugere.
Så jeg tænkte på, om man kunne få nogle eksempler på, hvad XML bliver brugt til, hvorfor det er så god en løsning at lave det i XML istedet for i en database sammen med MySQL.
Hvordan man bedst muligt bruger teknologien idag, og i fremtiden, når XHTML2.0 bliver fuldt tilgængelig.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Jeg ved ikke om XML er at foretrække i forhold til et udtræk af en MySQL database.
Jeg har brugt XML til WWW som eksamensopgave. XML til WWW "kan" fungere således.
Du definerer din egen DTD, dette kan du eventuel gøre via notesblok eller benytte et DTD designer program som der findes en del af rundt omrking på nettet.
Med din egen DTD kan således definere de tags der er gyldige/ugyldige i det dokument du ønsker a opmærke.
Når du har opmærket dit XML dokument, og her kommer de "fede" nok (efter min mening) er at du kan navngive tags efter eget ønske.
Du kan når du så har opmærket dine sider,trække de data XML tagene indeholder og få dem vist i browseren. Dataene trækkes ud via et XSLT (eXtensible Stylesheet Transformation).
Via XSLT kan du trække dine data ud og få dem vist i alfabetisk, numerisk rækkefølge.
Jeg vil dog vove den påstand at anvende XML til visning i en browser til WWW er med XML/XSLT en meget kringlet og meget bøvlet metode.
Derfor konkluderer jeg at det er bedre at anvende PHP/MySQL sammen med almindelig HTML 4.0 (eller yngre) til enhver tid er et bedre værktøj til at kunne fremstille hjemmesider der er tilknyttet og henter data fra eksempelvis en MySQL database.
Det, du foreløbig kan gøre for at 'værne' dig mod (vel være forberedt på !-) fremtiden, er at skrive god markup !o]
Brug f.eks. helst html4.01 strict, og benyt dig så meget som muligt af css til at style dine elementer, så du vænner dig af med at bruge f.eks. bgcolor, width m.v. som attributter på tags (forveksl det så endelig ikke med den der table-o-fobia !-)
XML er rigtig smart til data-overførsel, og med xslt kan du også formattere et output på en fornuftig måde, men det har intet med design af hjemmesider, som kræver html ...
-- og fald heller ikke i den grøft, hvor man alene bruger absolut positionering til at placere alle elementer, men gør, som ole også skriver: 'Mellem to grøfter er der ofte en farbar vej', altså plukke de egenskaber fra alle muligheder, som sikrer dig det bedste og mest fleksible resultat !-)
-- og tænk så cascading ind i, dvs. muligheden for at gruppere elementer og sætte generelle styles efter deres forekomst i grupperne/elementerne i dokument-flowet !-)
Et eksempel kunne være, at du har en menu og et indholdselement, som har meget forskellige egenskaber udseende-mæssigt, så vil det være hensigtsmæssigt, at f.eks. links i menuen adskiller sig fra dem i indholdet, og så kan du:
Her har du et godt eksempel på RIGTIG brug af af XHTML1.1 og MathML 2.0 Enda sat op så også IE kan være med på en kigger (dog i en "light" version)
Den mand kan sin kode !!! Det er den eneste side jeg indtilnu har set, der er i SÅ høj grad opfylder kriteriene for et valid XHTML/XML både hvad angår koder ol... men også accesbillity og server. http://golem.ph.utexas.edu/~distler/blog/index.shtml
blackscorpion >> Det mest trendy, du kan gøre for at værne dig mod fremtiden, er vel at sætte dig i et metrotog med en bombe i skødet ... så er du fri for fremtiden, det billige skidt. Derudover kan jeg absolut tilslutte mig roenvings kommentarer ;o)
jesper_moeller >> Jeg takker meget for rosen, jeg har bemærket under den ene af mine artikler - men er desværre nødt til at tage dig lidt i skole :)
Sagen er nemlig, at den koder - hvis side du linker til - heller ikke rigtig kan kode ordentligt. Det hjælper jo ikke meget, at ens kode er valid og virkende XML/XHTML, hvis man i processen disabler CSS i dokumentet. I et dokument, der overholder CSS1, skal dette script returnere 'CSS1Compat': alert(document.compatMode)
Returneres derimod 'backCompat' (i IE) eller 'quirksMode' (i Opera), er store dele af CSS disabled ... herunder box-modellen, som er ekstrem vigtig.
- du kan i øvrigt også teste CSS-kompatibilliteten ved at skrive dette i adresselinjen og trykke 'Enter': java script:d=document;dv=d.createElement("div");c=dv.style;c.width='200px';c.height='200px';c.backgroundColor='yellow';c.borderWidth='50px';c.borderStyle='solid';c.borderColor='red';d.body.appendChild(dv);void(0)
Den kode burde resultere i et gult div, der er 200*200px - og med en 50px rød border omkring ... altså i alt 300*300px. Det gør den ikke på den nævnte side :)
Siger ikke han er perfekt ;-).... men dygtig er han
Og hans sider er tæt på at være helt korekt... (Indrøm det *S*... ikke mange der er så tæt på ;-) Men ja i IE er der langt ..*G*...vilket han jo også pænt gør opmærksom på....
"jeg har bemærket under den ene af mine artikler - men er desværre nødt til at tage dig lidt i skole" Jamen jeg elsker at gå i skole....så vær velkommen (måske du endag kan læse korektur på mit Web Encyclopadi ?..*G*) Håber du kunne bruge bruge linksne i min kommentar... især mener jeg at den undersøgelse /test han har lavet på http://www.goer.org/Journal/2003/Apr/index.html er interessant og en god grund til at pege på mussing's side som et godt eksempel på god XHMT/XML :-)
- du kan i øvrigt også teste CSS-kompatibilliteten ved at skrive dette i adresselinjen og trykke 'Enter': java script:d=document;dv=d.createElement("div");c=dv.style;c.width='200px';c.height='200px';c.backgroundColor='yellow';c.borderWidth='50px';c.borderStyle='solid';c.borderColor='red';d.body.appendChild(dv);void(0) Den kode burde resultere i et gult div, der er 200*200px - og med en 50px rød border omkring ... altså i alt 300*300px. Det gør den ikke på den nævnte side :)
jesper_moeller >> Misforstå mig endelig korrekt :) Jeg er absolut glad for dine links - ikke mindst er hans undersøgelse ganske sjov og helt i tråd med, hvad jeg selv har bemærket mig.
Da jeg så hans blog, rejste de sparsomme hår sig bare på mit hovede. Min CSS-box-model er 'hellig'! Den sælger jeg ikke ud af til fordel for XHTML ;o)
Det lyder mere end komplet sært, da det først blev implementeret i IE6.0. IE5.X har aldrig overholdt CSS' box-model - så det har jeg meget svært ved at se, skulle kunne ske :)
"Det lyder mere end komplet sært, da det først blev implementeret i IE6.0. IE5.X har aldrig overholdt CSS' box-model - så det har jeg meget svært ved at se, skulle kunne ske :)"
arrrggghhhh .... IE/MacOS! Hehe ... sjovt nok, for lige netop den, er nok den mest elendige browser, der nogensinde er fremstillet. Det er med andre ord dét, den overholder MS har da også taget konsekvensen og lovet, de ikke kommer med flere browsere til det OS ;o)
roenving >> du har da ganske ret ... det burde en gammel 'Macintosse' da have set ;o)
- og ja, det er faktisk en pudsig bruser. Sjovt at de mange CSS-ting er implementeret, når andre ikke er - og den stadig har en tussegammel JS-version (1.2 tror jeg sågar, det er!) :)
"det er jo lidt sjovt, at en hel del css-ting, virker fra nogen af de allerførste IE/Mac'er, mens det stadig ikke er implementeret i IE/Win !-)" Måske det skyldes at den ikke blev lavet af MS ??...*G*
"sjovt nok, for lige netop den, er nok den mest elendige browser, der nogensinde er fremstillet." da den kom frem var den meget revalutinerende.... og var i lang tid den eneste der så godt understøtede CSS (vilket den faktisk gør bedere en en del yngre fætre ;-)
Tjah, det er jo M$ som har produceret den, men jeg har også hørt, at det meste af IE4/Win (hvis renderingsmaskine stadig er bunden i nyere udgaver !-) blev lavet af andre på kontrakt fra M$ ...
PS. Ole, har du set den nyeste javascript-artikel (741 ?-)
Forstod det som du ville se sider med XHTML/XML i funktion. Men hvis det er eksempler på xhtml og xml vil jeg foreslå dig at søge på xhtml / xml tutorials
De kan ofte give dig god viden basis viden om tingne. samt give gode ideer og inspiration til hvordan du kan udnytte div funktioner.
Oki...taget til efterretning.... har slet ikke fået set den site....stødte først på den for et par dage siden *G* ----men så slipper jeg da for at læse den site.....
Synes godt om
Slettet bruger
27. juli 2005 - 01:19#38
Hvis du ønsker at bruge xhtml på trods af dets manglende understøttelse, er http://www.htmldog.com/ en god resource. Bemærk dog, at sitets forfatter er skarp modstander af at bruge tabeller til layout.
taget i betragtning til alt det gøjl vi har til nettet idag og hvilke muligheder vi har med, kan man ikke lære alt.
Derfor holder jeg mig til mine tabeller som jeg kan finde ud af istedet for at gå totalt i dybden med CSS og bruge en masse tid på noget nyt, som kan præcist det som jeg kan nu med tabeller, så hvorfor bruge tiden på det??
Syntes ikke rigtigt der er nogen pointe i at lære noget nyt, bare fordi det er nyere og smartere, når det i bund og grund gør det samme som jeg allerede ved. ;)
-"bruge en masse tid på noget nyt, som kan præcist det som jeg kan nu med tabeller,"
Det kan LANGT mere en det... Tabeler kan nok kun ca 20% af hvad man kan med CSS
Og tro mig... er du først kommet igang med CSS vender du ikke om. Dog ingen grund til at helt glemme tabeler... De er perfekte til det formål de i sin tid blev lavet til... nemlig at vis date i tabel form... Og til den funktion er tabeler stadig bedst... Men til layout og styling er CSS i stedet for tabeler.... et par dages(måske et par ugers?) træning og læsning for at forstå grundbegreberne og være godt igang .... men et kvantespring i muligheder og kontrol over dine sider...
Tabeller kan ikke noget, som css kan, og det gælder også omvendt, for det er ikke nogensomhelst sammenligning når man stiller en bil overfor en dåse (eller et læs for den sags skyld !-) autolak ...
-- og, jesper-moeller, har du også tænkt dig at droppe alle ting, som benytter sig af hjul, fordi det ikke handler om vandingssystemer, som hjulet oprindeligt blev opfundet til ?-)
Tabeller (og spans, divs m.m.fl. !-) er html-elementer, mens css er den lak, du kan komme ovenpå og udenom html-elementer, faktisk virker css også glimrende på tabeller, og visse typer styling kan få nogle elementer til at ligne det, man også kan med tabeller ...
-- og det er ikke svært at forstå animositeten mod de dybt nestede tabel-helveder med masser af spacer.gifs til udspænde dem, som var den eneste realistiske mulighed for at lave et layout i '90-erne, men der er bestemt ingen grund til straks at begrave sig i den modsatte grøft, for der er faktisk en hel stribe opgaver, som kun med fornuft kan løses med tabeller ...
-- som olebole også plejer at skrive: "Mellem to grøfter er der ofte en farbar vej" !-)
Det jeg prøver at sige er at jeg bruger tabeller til den grundlæggende opbygning, og så tilføjer lidt CSS, istedet for at bygge det hele op i divs, layers, position:absolute osv osv osv osv osv osv.
-- og jeg kan tilføje, at jeg mener, at en meget udbredt brug af absolut positionerede elementer, er dårlig kodeskik, og at det oftest tyder på, at koderen ikke ved meget mere end 10 centimeter om html !-)
"... jeg bruger tabeller til den grundlæggende opbygning, og så tilføjer lidt CSS, istedet for at bygge det hele op i divs, layers, position:absolute osv osv osv osv osv osv."
Jeg opbygger mine sider på præcis den samme måde. Dog havde jeg en kort periode hvor jeg eksperimenterede med opbygning i divs osv., men kom ret hurtigt til den konklusion, at man ofte bruger mere kode end nødvendigt, og derfor ikke vinder noget ved det (Hvorfor gøre tingene mere komplicerede end højst nødvendigt). Dernæst, som Roenving skriver, kan tables noget som divs ikke kan.
Så vidt jeg ved er der ikke noget der taler imod, at man bruger tables; Så længe, man ikke overdriver.
Jeps, tables og divs der hvor det ikke er nødvendigt at bruge et table. Jeg kan dog ikke se noget svært i at arbejde med tables, man kan jo næsten få dem til alt (Bortset fra at lave cirkler ;-) ).
Den med den psykotiske hest, har jeg vist til gode :-b
Jeg bruger _aldrig_ absolut positionering, hvis der er bare een chance for at undgå det, medmindre jeg vil sætte elementer ovenpå hinanden (f.eks. tooltips, se http://www.bosrup.com/web/overlib !-)
Kan man hurtigt spørge her inden i lukker og slukker om det er sandt at HTML gik fra ver. 3.2 til 4.0 ? og at er det ikke korrekt at HTML 4.0 er den eneste version af HTML der fuldt ud støtter CSS?
4.0 final er såvidt jeg har fundet ud af fra maj 1998, men den blev lynhurtigt overridet af 4.01 fra december '98, og en del ting blev trukket tilbage, nogle af dem præcis fordi css-implementeringen ikke tog tilstrækkeligt højde for de detaljer ...
-- sandbox fandt dog nogle andre datoer den anden dag !-)
Det er såmænd korrekt at CSS først kom med i de officielle standerder omkring 4.0/4.01.
Og uanset nøjagtig hvilke datoer, de forskellige 4.xx-versioner blev til anbefalinger fra w3, kan der vist ikke være tvivl om at HTML3.2 og de attributter, som passer til er ganske forældet og ikke bør bruges mere. De hører til i et andet årtusind.
Synes godt om
Slettet bruger
30. juli 2005 - 01:15#61
Ja, den gang var det Mozilla-browseren (med navnet Netscape) der var skyld i at webudviklere fik grå hår, og det var Microsoft, der var på forkant med udviklingen. Det har ændret sig lidt siden.
Det kan så tilføjes, at Netscape med med Netscape Navigator 4 nåede at komme før Micro$oft med en implementering af en slags styles, men det var på grundlag af et meget løst draft, og var baseret på at alle style-properties hang på selve elementet, hvilket ikke kan siges at være det nest elegante, da det præcis er den samme teknologi, som var benyttet i html3.2 ...
Det der overlib-sjov, som Roenving nævner, kunne jeg så til gengæld ikke få til at virke :-/ Det er måske der 'den psykotiske hest' kommer ind i billedet for mit vedkommende, Fox? :-D
blackscorpion > Der er i hvert fald nok at debatere, og man lærer lidt hver gang :-)
korrekt, derfor vil jeg lade det stå åbent, for syntes faktisk det er vildt spændene.
Ikke hver dag man får gang i SÅ mange kloge hoveder på én gang. ;)
Synes godt om
Slettet bruger
30. juli 2005 - 14:51#74
Så vil jeg da lige komme med lidt argumenter FOR at bruge CSS-positionerede elementer og den slags i stedet for en <table> for der er faktisk situationer, hvor det er den bedste løsning.
Det er hvis kravene til layoutet indeholder ting som:
Siden skal kunne skifte layout uden at ændre HTML-koden. - For eksempel til et site, hvor brugere kan oprette en blog og gøre den personlig.
Hvis siden skal omorganiseres på nogle browsere (måske på PDA eller mobiltelefon). - F.eks. så navigationen falder ned efter selve indholdet.
Hvis siden skal omorganiseres til udskrift. - Så kan det måske være smart helt at fjerne navigationen.
Det var et par eksempler, hvor tabellen måske ikke er den bedste løsning.
For den normale bruger, der ønsker et design på sine sider, som er i et par kolonner med samme højde, og med sidehoved og -fod i samme bredde som selve indholdet er det dog stadig smartest med en tabel med 3 rækker og 2-3 kolonne i den midterste række.
jamen tabellen er statisk, hvor at CSS/Javascript kan gøres dynamisk, men igen det kan så også diskuteres, da det er javascript der gør html dynamisk, da html er grundstenene i enhvert design idag.
Sandbox > Jeg har endnu ikke været ude for, at et table ikke har villet som jeg ville. Måske skyldes det at min sidestruktur er opbygget traditionelt, og uden hokus-pokus af større art?
Jeg mener heller ikke at min kode er uoverskuelig fordi jeg anvender tables; Tværtimod var den netop uoverskuelig, da jeg forsøgte at opbygge siderne med divs :-|
Synes godt om
Slettet bruger
30. juli 2005 - 18:31#79
apo: Så tilhører du nok også den gruppe, jeg beskrev i nederste afsnit og du har ikke de krav, som jeg beskrev ovenover.
Man skal bruge den metode, som passer til opgaven. Det er nogle gange en tabel og nogle gange noget andet.
-- i Firefox kan jeg da se noget, det kan jeg ikke i IE, for der kommer bare en ornsvag forespørgsel, om jeg vil tillade et websted at nedlægge min computer ...
IE kan ikke kende forskel på et uskyldigt Flash-objekt og et skadeligt script, som kan slette din harddisk, så jeg er selvfølgelig nødt til at nægte at køre scriptet ...
-- Mozilla/Firefox har ikke det fjerneste problem med at skelne, så jeg vil aldrig nogensinde kunne se et site, som er baseret på Flash i M$IE !-)
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.