html vs xhtml.

Naar aanleiding van eerdere discussies over html, en xhtml documenten van [url=http://forum.macosx.nl/viewtopic.php?t=69104]eerdere[/url] [url=http://forum.macosx.nl/viewtopic.php?t=68982]posts[/url] en de onduidelijkheid die er qua blijkelijk nog steeds heerst tussen het verschil heb ik hier een snelle demonstratie van het verschil tussen de twee geschreven.

http://kaydies.com/tijdelijk/html_vs_xhtml/html.html

Ik hoop dat het hierdoor allemaal wat duidelijker wordt. :slight_smile:

ja en nee: het toont alleen maar aan dat je op twee manieren XHTML kan aanbieden en dat in de testpagina er geen verschil is in het resultaat; kortom lood om oud ijzer.

De vraag is alleen wat je nu probeert duidelijk te maken?

Ik wil er mee aantonen dat als het als html geserveerd wordt, het in de browser eerst geconverteerd wordt naar html en daarna pas opgediend. Je xhtml document geserveerd als html wordt dus eigenlijk behandeld als foute html. (tagsoup).

Wel laat ik het eens duidelijk uitleggen. (of proberen)

Je hebt 3 soorten markuptalen,

  • presentrationele markup: Trekt zich niet aan of het een titel, een paragraaf, of iets anders is, als de opmaak maar goed zit
  • structurele markup: Beschrijft enkel de structuur van een pagina, niet de layout. XHTML behoort hiertoe, alle opmaak kan worden gedaan via een css-sheet
  • hybride markup: een mengelmoes van bovenstaande. HTML behoort hier toe

besluit:
HTML smijt presentrationele en structurele code allemaal door elkaar, wat niet erg overzichtelijk en netjes is.
bij XHTML + CSS houd je die twee strikt gescheiden. Het grote voordeel is dat je je site een volledig nieuwe layout kan geven door enkel de css file te vervangen, en je dus niet je hele site opnieuw moet maken. vb: http://www.csszengarden.com/ (kies rechts een style)

Ik hoop dat het nu wat duidelijker is,

Jago
student ICT

@jaguo

Wat jij beschrijft is het verschil tussen html zonder doctype, transitional markup en strikte markup. Niet het verschil tussen HTML en XHTML.

[quote:7b8ee18f8a="kaydie"]Je xhtml document geserveerd als html wordt dus eigenlijk behandeld als foute html. (tagsoup).[/quote:7b8ee18f8a]

mhmm… het is zeker geen tagsoup, tagsoup is wat anders. Volgens de specs van XHTML 1.0 is het perfect valide om je XHTML als HTML aan te bieden, dus is het geen foute HTML: http://www.w3.org/MarkUp/2004/xhtml-faq#texthtml

Gewoon XHTML gebruiken en HTML ijskoud negeren :).

@tenapel Dit wordt ook tagsoup genoemd. Zie : [url]http://en.wikipedia.org/wiki/Tag_Soup#How_XHTML_affects_tag_soup[/url] voor een betere uitleg.

[quote:05d509f2b7="kaydie"]@tenapel Dit wordt ook tagsoup genoemd. Zie : [url]http://en.wikipedia.org/wiki/Tag_Soup#How_XHTML_affects_tag_soup[/url] voor een betere uitleg.[/quote:05d509f2b7]

Wat er letterlijk staat:

[quote:05d509f2b7]
“Because XHTML 1.0 served to browsers as HTML is parsed as if it were badly-formed HTML, XHTML 1.0 is affected by tag soup in the same way as HTML.”
[/quote:05d509f2b7]

Het is een rare zin die grammaticaal niet helemaal klopt. De tweede bijzin echter geeft aan dat XHTML affected is door tag soup, op dezelfde manier als HTML. Er staat niet dat XHTML tag soup is.

Overigens is het deflatie van het begrip ‘tag soup’. Tag soup is van oorsprong de aanduiding voor een mix van rotzooi HTML, vaak gegenereerd door HTML generators in plaats van een duidelijke semantische opbouw. Ik zat indertijd op de maillinglist waar het begrip geintroduceerd werd…

[quote:e4696d556e="tennapel"]Er staat niet dat XHTML tag soup is.[/quote:e4696d556e]

Dat hoor je mij ook niet zeggen.

Wel dat de als HTML geserveerde XHTML zogenaamde tagsoup genereert in de browser. Dat wil zeggen dat de browser een aantal elementen moet wijzigen om het als correcte HTML te renderen. Bij gevalideerde XHTML 1.0 is dat op zich nog niet zo’n groot probleem, maar bij XHTML 1.1 gaat het fout. Een voorbeeldje daarvan is de ‘xml:lang’ attribute die bij de conversie niet omgezet wordt naar ‘lang’.

[quote:5175d2b91a="kaydie"] Wel dat de als HTML geserveerde XHTML zogenaamde tagsoup genereert in de browser. Dat wil zeggen dat de browser een aantal elementen moet wijzigen om het als correcte HTML te renderen. .[/quote:5175d2b91a]

Het feit dat de browsers dusdanig geprogrammeerd zijn dat ze onder water XHTML in HTML omzetten volgens bepaalde gespecificeerde conversiemethoden betekent nog niet dat het resultaat tag soup is.

Ik maak ernstig bezwaar tegen het gebruik van het woord tag soup in deze context. Volgens de specificaties van XHTML 1.0 is deze backwards compatible met HTML 4. Zolang de XHTML pagina valideert is het valide. Einde verhaal.

Echter, je kan zondermeer tag-soup bakken in XHTML, door je document niet semantisch te structureren en dat is nu precies waar het woord tag-soup op slaat.

De argeloze bezoeker van dit forum zou het idee kunnen krijgen dat een document opgemaakt in XHTML 1.0 met een strict of transitional doctype en als text/html de grootste puinbak van de eeuw is. Dat is pertinente onzin. Zie de faq van het W3C.

[b:d7741d65c8]Tag soup is HTML code, written without regard for the rules of HTML structure and semantics.[/b:d7741d65c8] Alles wat hier niet onder valt is dus geen Tag soup ... volgende punt van discussie ...