Tähän mennessä olen tehnyt sivuja HTML ja doctype on se millä IE toimii kunnolla HTML 4.01 Strict. Ulkoasu määritykset CSS.
Mutta nyt olis tarkoitus tehdä isompa sivusto jotenka kannattaako käyttää tuota HTML vai XHTML ja millä doctypellä?
Tarkoitus on tehdä toimiva sivusto enkä halua käyttää mitään sentakia kun se on cool ellei siitä todella ole jotain hyötyä.
Mutta nyt olis tarkoitus tehdä isompa sivusto jotenka kannattaako käyttää tuota HTML vai XHTML ja millä doctypellä?
Tarkoitus on tehdä toimiva sivusto enkä halua käyttää mitään sentakia kun se on cool ellei siitä todella ole jotain hyötyä.
Vastaukset 8
Vanhimmat
html4Strictillä ja xthml Stictillä nyt ei ole suurtakaan eroa. Sikäli oikeastaan ihan sama, mutta mikset tekisi samantien uudemman määrityksen mukaisesti kun kerran uuden teet.
Olennaisempaa on juurikin tekeekö Strictillä vai loosella/transitionalilla. Monesti tuntuu että porukka brassailee sillä että sivut on oikein xthml:ää vaikka se lopulta onkin sitä samaa paskaa koodia mitä viimeiset kymmenen vuotta on tehty, elikkäs transitionalia joka harvoin on edes oikein tehty.
Taidan tehdä tuolla XHTML sitten. Löysin http://hsivonen.iki.fi/doctype/ sivun mukaan IE6 toimisi XHTML 1.0 Strict kanssa oikein joten siitä ei tulisi ongelmia. Ilmeisesti kannattaa 1.0 eikä 1.1?
IE noudattaa paremmin eräitä css-määrityksiä, mikäli dtd:ksi on laitettu Strict, mutta tässäkään ei kyllä ole väliä onko se html4.01 Strict vai xhtml Strict. (Ilmeisesti ei ole väliä vaikkei sivu olisi strictiä nähnytkään, kunhan se on esitelty sellaiseksi)
Jaa 1.0 vai 1.1? Nyt täytyy tunnustaa etten oikein tiedä. Toivottavasti joku viisaampi osaa kertoa (minullekin samalla).
Vähäiset erot 1.0:n ja 1.1:n välillä taitavat olla tässä:
http://www.w3.org/TR/xhtml11/changes.html
Lisäksi XHTML 1.0 voidaan jakaa kolmeen eri alalajiin (Strict, Transitional ja Frameset), kun taas XHTML 1.1:stä ei ole olemassa mitään sen kummempia versioita.
Kenties suurin ero on kuitenkin se, että XHTML 1.1:tä ei pitäisi lähettää selaimelle käyttäen MIME-tyyppiä text/html, vaan hyväksyttyjä vaihtoehtoja ovat application/xhtml xml (suositeltavin), application/xml ja text/xml. XHTML 1.0:n yhteydessähän voidaan käyttää MIME-tyyppiä text/html, jos noudatetaan tiettyjä yhteensopivuusohjeita: http://www.w3.org/TR/xhtml1/#guidelines
MIME-tyyppeihin liittyvät suositukset:
http://www.w3.org/TR/xhtml-media-types/xhtml-media-types.xhtml#summary
Käytännössähän tämä viimeksi mainittu ero tekee XHTML 1.1:n käytöstä melko mahdotonta, sillä monille selaimille MIME-tyyppi application/xhtml xml on hepreaa. Esimerkiksi eräs Internet Explorer ei edes yritä näyttää koko sivua, vaan pyytää käyttäjää joko avaamaan tai tallentamaan tiedoston. (Kokeilkaapa vaikka seurata tuota viimeisintä linkkiä IE:llä.) Tietenkin yksi vaihtoehto on käyttää "sisältöneuvottelua" (content negotiation) eli tutkia selaimen lähettämää Accept-otsikkokenttää, jonka perusteella voidaan sitten tarjoilla XHTML:ää kehittyneille selaimille ja HTML:ää muille. Se taas vaatii jonkin verran palvelinpuolen konfigurointia ja/tai ohjelmointia.
http://www.456bereastreet.com/lab/developing_with_web_standards/fi/#xhtml
xhtml 1.1 dtd:n kanssa W3C näyttää olevan itsensäkin kanssa vähän eri mieltä. Toisaalla ( http://www.w3.org/QA/2002/04/valid-dtd-list.html ) ilmoitetaan että dtd olisi:
Mutta jos validaattorin läpi pistää dokumentin ja määrää validaattorin laittamaan siihen dtd:n, niin sinne tulee
Sama dtd siis, mutta sen säännöt katsotaan eri paikasta ja eri dokumentista. Ehkä lopputulos on silti sama, mene ja tiedä (en tosiaan jaksanut lukea noita määrityksiä).
Tuolta sivulta löytyy kyllä paljon hyödyllistä tietoa. Tässä vielä pari XHTML:ään liittyvää lisälinkkiä asiasta kiinnostuneille:
http://www.456bereastreet.com/archive/200501/the_perils_of_using_xhtml_properly/
http://www.hixie.ch/advocacy/xhtml
Sillä kannattaa tehdä, mutta muista tarkkuus koska tämä on tarkempaa kuin 4.01 eli sivu ei hevillä käänny jos siellä on tarpeeksi virheitä
..tekee 4.01 Strictillä, niin hänellä tuskin on ongelmia koodin tarkkuuden kanssa: xhtml ei ole yhtään sen tarkempaa kuin 4.01 Strict.