html och XHTML är båda språk där webbsidor är skrivna. HTML är SGML-baserat medan XHTML är XML-baserat. De är som två sidor av samma mynt. XHTML härleddes från HTML för att överensstämma med XML-standarder. XHTML är därför strikt i jämförelse med HTML och tillåter inte användaren att komma undan med bortfall i kodning och struktur.
Anledningen till att XHTML skulle utvecklas var förknippade webbläsarspecifika taggar. Sidor som kodas i HTML verkade annorlunda i olika webbläsare.
html | XHTML | |
---|---|---|
Introduktion (från Wikipedia) | HTML eller HyperText Markup Language är det viktigaste språket för att skapa webbsidor och annan information som kan visas i en webbläsare. | XHTML (Extensible HyperText Markup Language) är en familj av XML-märkningsspråk som speglar eller utökar versioner av det ofta använda Hypertext Markup Language (HTML), språket där webbsidor skrivs. |
Filnamnstillägg | .html, .htm | .xhtml, .xht, .xml, .html, .htm |
Internet media typ | text / html | application / xhtml + xml |
Utvecklad av | W3C & WHATWG | World Wide Web Consortium |
Typ av format | Dokumentfilformat | Markup language |
Utökad från | SGML | XML, HTML |
Står för | HyperText Markup Language | Extensible HyperText Markup Language |
Ansökan | Tillämpning av Standard General Markup Language (SGML). | Användning av XML |
Fungera | Webbsidor är skrivna i HTML. | Utökad version av HTML som är strängare och XML-baserad. |
Natur | Flexibel ram kräver smidig HTML-specifik parser. | Restriktiv delmängd av XML och måste analyseras med standard XML-parsers. |
Ursprung | Föreslagen av Tim Berners-Lee 1987. | World Wide Web Consortium Recommendation 2000. |
versioner | HTML 2, HTML 3.2, HTML 4.0, HTML 5. | XHTML 1, XHTML 1.1, XHTML 2, XHTML 5. |
html är det dominerande språket för webbsidor. HTML skapar strukturerade dokument genom att beteckna strukturell semantik för text som rubriker, listor, länkar, citat etc. Det gör att bilder och objekt kan inbäddas för att skapa interaktiva former. Det är skrivet som taggar omgivna av vinkelbeslag - till exempel, . Skript på språk som JavaScript kan också laddas.
XHTML är en familj av XML-språk som utökar eller speglar versioner av HTML. Det tillåter inte utelämnande av taggar eller användning av attributminimering. XHTML kräver att det finns en slutkod för varje start tagg och alla nestade taggar måste stängas i rätt ordning. Till exempel, medan
gäller i HTML, skulle det vara nödvändigt att skriva
i XHTML.
HTML-dokument består av element som har tre komponenter - ett par elementetiketter - start tagg, slut tagg; element attribut som ges inom taggar och faktiskt, text och grafiskt innehåll. HTML-element är allt som ligger mellan och inklusive taggar. (Tag är ett nyckelord som är inneslutet inom vinklar).
XHTML-dokument har bara ett rotelement. Alla element inklusive variabler måste vara i små bokstäver och de tilldelade värdena måste vara omgivna av citattecken, stängda och nästa för att bli igenkända. Detta är ett obligatoriskt krav i XHTML till skillnad från HTML där det är valfritt. Deklarationen av DOCTYPE skulle bestämma regler för dokument att följa.
Bortsett från de olika öppningsdeklarationerna för ett dokument är skillnaderna mellan ett HTML 4.01 och XHTML 1.0-dokument - i var och en av de motsvarande DTD: erna i stort sett syntaktiska. Den underliggande syntaxen i HTML tillåter många genvägar som XHTML inte gör, till exempel element med valfria öppnings- eller slutkoder, och även EMPTY-element som inte får ha en slutgiltig kod. Däremot kräver XHTML att alla element har en öppnings tagg eller en stängningskod. XHTML introducerar också en ny genväg: En XHTML-tagg kan öppnas och stängas inom samma tag genom att inkludera ett snedstreck före slutet av taggen så här:
. Införandet av denna stenografi, som inte används i SGML-deklarationen för HTML 4.01, kan förvirra tidigare programvara som inte är känd för denna nya konvention. En åtgärd för detta är att inkludera ett utrymme innan du stänger taggen, som sådan:
.
HTML och XHTML är nära besläktade och kan därför dokumenteras tillsammans. Både HTML 4.01 och XHTML 1.0 har tre delspecifikationer - strikta, löst och ramsätt. Skillningsöppningsdeklarationerna för ett dokument skiljer HTML och XHTML. Andra skillnader är syntaktiska. HTML tillåter genvägar som element med valfria taggar, tomma element utan slutkoder. XHTML är mycket strikt om att öppna och stänga taggar. XHTML använder inbyggd språkdefinierande funktionalitetsattribut. Alla syntaxkrav för XML ingår i ett välformat XHTML-dokument.
Observera dock att dessa skillnader endast gäller när ett XHTML-dokument används som en applikation av XML; det vill säga med en MIME-typ av applikation / xhtml + xml, applikation / xml eller text / xml. Ett XHTML-dokument som serveras med en MIME-typ av text / html måste analyseras och tolkas som HTML, så HTML-reglerna gäller i det här fallet. Ett stilark som är skrivet för ett XHTML-dokument som serveras med en MIME-typ av text / html kanske inte fungerar som avsedd om dokumentet sedan serveras med en MIME-typ av program / xhtml + xml. För mer information om MIME-typer, se till att läsa MIME-typer.
Detta kan vara särskilt viktigt när du serverar XHTML-dokument som text / html. Om du inte är medveten om skillnaderna kan du skapa stilark som inte fungerar som avsedd om dokumentet fungerar som riktigt XHTML.
Om termen "XHTML" och "XHTML-dokument" visas i resten av det här avsnittet, hänvisar de till XHTML-markering som serveras med en XML MIME-typ. XHTML-markering som visas som text / html är ett HTML-dokument när det gäller webbläsare.
Som rekommenderas av W3C kan följande steg följas för migrering av HTML till XHTML (XHTML 1.0-dokument):
Var noga med att följa W3Cs riktlinjer för kompatibilitet, en användaragent (webbläsare) ska kunna tolka dokument lika lätt som HTML eller XHTML.
För att förstå den subtila skillnader mellan HTML och XHTML, Överväga omvandlingen av ett giltigt och välformat XHTML 1.0-dokument till ett giltigt HTML 4.01-dokument. För att göra denna översättning krävs följande steg:
lang
attribut snarare än XHTML xml: lang
attribut. XHTML använder XML: s inbyggda språkdefinierande funktionalitetsattribut. xmlns = URI
). HTML har inga faciliteter för namnområden.
). text / html
. För både HTML och XHTML kommer detta från HTTP Innehållstyp
header som skickas av servern.
till
).