Vad menas med 'dokuments teckenuppsättning' i XML och HTML, och hur hänger det samman med den kodning jag använder i mina dokument?
För XML och HTML (4.0 eller senare) gäller att dokuments teckenuppsättning eller basteckenuppsättning är Universal Character Set (UCS) som definieras både av standarden ISO/IEC 10646 och av Unicode-standarden, vilka definierar samma koder.
Av enkelhetsskäl, och enligt normal praxis, så står alla förekomster av "Unicode" i detta dokument för den teckenuppsättning som definieras av både Unicode och ISO/IEC 10646.
Detta betyder att den logiska modell som beskriver hur XML och HTML behandlas beskrivs i termer av Unicode-teckenuppsättningen.
Det betyder dock inte att alla HTML- och XML-dokument måste kodas som Unicode, men det betyder att sådana dokument bara kan innehålla tecken som definieras av Unicode. Lägg märke till att teckenuppsättning och kodning är olika saker - t.ex. kan hela Unicode-repertoaren kodas på fler än ett sätt, bl.a. som UTF-8, UTF-16 och UTF-32. Du kan använda vilken kodning som helst, så länge som den tydligt anges och är en delmängd av Unicode-repertoaren. (Det är ganska osannolikt att man stöter på en kodning som inte är en delmängd av Unicode.)
Å andra sidan är det bra att i största möjliga utsträckning använda Unicode, eftersom det förenklar många typer av problem vad gäller webbinternationalisering, och Unicode har brett stöd av HTML-läsare och fullt stöd av alla XML-processorer.
En viktig effekt av dokumentets teckenuppsättning är att värden av numeriska teckenreferenser (såsom ǵ och ǵ som står för "litet latinskt tecken g med akut accent") tolkas som Unicode-tecken - oavsett vilken tekenkodning du använder för dokumentet. Detta är en vanlig orsak till missuppfattningar av de som inte har skillnaden klart för sig.
I praktiken kan inte alla Unicode-tecken användas överallt i XML och HTML. T.ex. kan vissa tecken inte användas i elementnamn och vissa kontrolltecken (eng. "control characters") kan inte användas i innehåll. Lägg dock märke till att XML 1.1, jämfört med XML 1.0, tillåter användning av många fler tecken i sådant som elementnamn.
För HTML 2.0 definierades att alla tecken i ett HTML-dokument skall tolkas som ISO 8859-1 (också kallad ISO Latin 1), men samtidigt kungjordes att framtida versioner av HTML kommer att använda en utvidgad mängd, dvs Unicode (eller ISO 10646), vilket betyder att en ofantlig mängd av alla världens tecken kan användas.
Diskussionen om hur man bör använda Unicode på Internet ( RFC 2130, April 1997, och RFC 2070, Jan 1997) hade inte avslutats då HTML 3.2 publicerades (Jan 1997), och därför kunde inkorporerandet av Unicode i HTML ske först i samband med HTML 4.0 (Dec 1997).
Relaterade länkar, Authoring HTML & CSS
Relaterade länkar, Authoring XML