Sida 1 av 1

Xhtml och html. [LÖST]

Postat: 29 nov 2009, 10:36
av Forcevision
Schabba.

Gör ju hemsidorna i html men kollat runt lite så finns ju xhtml vad är skillnaden och bör jag gå över till xhtml ?

/Force

Re: Xhtml och html.

Postat: 29 nov 2009, 12:33
av Lars
Det beror på. För vanliga sidor spelar det inte så stor roll. Men ibland är det väldigt användbart. Här är två exempel på när XHTML är betydligt bättre:

http://ubuntu-se.org/planet/ samlar vi RSS- och Atom-flöden från många olika källor. Ett typiskt RSS-flöde innehåller detta:

Kod: Markera allt

<description><p>Här är innehållet med <b>formattering</b></description>
Ett typiskt Atom-flöde innehåller detta:

Kod: Markera allt

<summary type="html"><p>Här är innehållet med <b>formattering</b></p></summary>
RSS-flödet innehåller enbart text och eventuella taggar måste skrivas som "<p>". I Atom-flödet ligger XHTML-koden direkt inuti <summary>-taggen. HTML kan man inte använda på samma sätt eftersom det inte är XML.

Vad spelar det för roll då? Jo, i planeten måste koden formatteras om till något som passar oss. T.ex. filtreras all JavaScript-kod bort. Som du ser så saknas </p> i RSS-exemplet och det är bara ett exempel på vad för skit man kan få in. RSS/HTML är en riktig soppa som är svår att hantera. Atom/XHTML är däremot rent och snyggt, och kan enkelt behandlas med automatiserade verktyg. Fördelen med XML är att det är enkelt att verifiera att koden är korrekt vilket gör att den mesta XHTML-koden på nätet också är det. HTML lider av att de flesta webbläsare är alldeles för förlåtande, så det finns mängder av ful kod på nätet. Och dessutom går det som sagt inte att kombinera med andra XML-format som t.ex. Atom.

Ett annat exempel är http://help.ubuntu-se.org/. Sidorna är skrivna i DocBook (ett XML-format) som transformeras till XHTML. Orginalet har samma utseende som https://help.ubuntu.com/ och för att ändra utseendet behövde vi ändra i XHTML-koden. Det är ett tusental sidor så det måste skriptas på något sätt. Eftersom det är XHTML kan man använda XSLT. För att t.ex. lägga till faviconen gör vi så här:

Kod: Markera allt

<xsl:template match="xhtml:head">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
    <link xmlns="http://www.w3.org/1999/xhtml" rel="shortcut icon" href="/favicon.ico" />
  </xsl:copy>
</xsl:template>
Vilket betyder att vi matchar på <head>, kopierar allt och lägger till <link rel="shortcut icon"....> i slutet. XSLT är ett lite smått underligt språk eftersom det är deklarativt, men det är väldigt kraftfullt. Vad är alternativet för HTML? Något fulhack i perl som är beroende av hur just vår HTML är formatterad? XSLT-snutten ovan är idiotsäker och fungerar alltid.

Slutsatsen är att om man ska göra någonting med (X)HTML-koden utöver att visa den i en webbläsare så är XHTML överlägset.

Re: Xhtml och html.

Postat: 29 nov 2009, 12:43
av Katt
Kort och gott så är xhtml nästintill detsamma som html, fast med striktare och bättre struktur, med slutna taggar osv.
Så ja, du borde definitivt köra på xhtml (och css2 eller css3 om du är lite framförsynt). I alla fall tills html5 blivit standard, eftersom den skall "ersätta" både html4 och xhtml

Re: Xhtml och html.

Postat: 29 nov 2009, 18:06
av Forcevision
Okej !

Hur fungerar html5 är det samma struktur på kodandet som <html> </html> osv eller är det helt annorlunda ?

Re: Xhtml och html.

Postat: 30 nov 2009, 00:54
av Katt
http://html5.org/

Där hittar du allt du behöver veta.

Re: Xhtml och html.

Postat: 30 nov 2009, 16:47
av Forcevision
Tackar!