4. DOCTYPE, XML deklaration og namespace
identifikation
De første forskelle fra XHTML
til HTML møder vi allerede før vores <html> element. Her skal vi
nemlig have defineret vores XML deklaration og Document
Type Definition (DOCTYPE/DTD).
Hvor man i HTML kan vælge, om
man vil definere en DOCTYPE er det påkrævet i XHTML.
Derudover kan det varmt anbefales at angive XML deklaration.
XML deklaration
XHTML er som tidligere nævnt en
mellemting imellem XML og HTML. Det betyder, at XHTML skal være kompatibelt med begge sprog. Derfor
kan det
sprog vi skriver faktisk opfattes som XML.
Vi bør derfor angive en XML
deklaration således:
<?xml version="1.0"?>
Derudover skal vi deklarere
hvilket tegnsæt, der bruges på dokumentet. Tegnsættet skal
angives, for at fortælle browseren hvilket skriftsprog, vi
anvender. Angivelsen for dansk tegnsæt er "iso-8859-1", som
bl.a. fortæller, at vi anvender æ, ø og å.
Dermed ser vores XML
deklaration således ud:
<?xml version="1.0"
encoding="iso-8859-1"?>
DOCTYPE
Efter XML deklarationen skal vi
angive en DOCTYPE ... også forkortet DTD.
Formålet med DOCTYPE er at
fortælle browseren, hvilken standard siden er kodet efter, og
dermed
hvilke elementer og attributter der er til rådighed. På den måde er man sikker på, at siden
bliver vist korrekt, og nøjagtigt som man havde tænkt sig.
DOCTYPE er lidt af en
videnskab, som man imidlertid ikke behøver at gå yderligere i dybden
med for at programmere XHTML.
Det vigtigste at vide er, at
der findes tre forskellige DOCTYPE's.
STRICT
Dette er den "rene" XHTML standard, som anbefales af W3C.
Standarden anvendes, hvis man vil kode uden brug af andre
elementer end de rene (og fremtidssikrede) XHTML-elementer.
Denne standard er endvidere mest velegnet til at arbejde sammen
med CSS.
En angivelse af DOCTYPE Strict
ser således ud:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
TRANSITIONAL
Denne standard anvendes, hvis man vil bruge elementer som fx
<font> sammen med sin XHTML, eller hvis du ønsker at kode til
browsere, som ikke er glade for at arbejde sammen med CSS.
Årsagen kan evt. være hensyn til ældre browsere.
En angivelse af DOCTYPE
Transitional ser således ud:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
FRAMESET
Hvis du ønsker at bruge rammesider til at dele browserens vindue
ind i flere individuelle dele, skal du bruge denne standard.
XHTML Frameset skal kun bruges på selve rammesiden - ikke
siderne der vises i et frameset.
En angivelse af DOCTYPE
Frameset ser således ud:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
SAMMENHÆNG
Man kan med rette sige, at Strict XHTML er det mest "snævre"
sprog med den mest stringente struktur og færrest elementer at
vælge imellem. Lidt bredere er Transitional XHTML, som har de
samme elementer som Strict samt de elementer, der er på vej ud
af standarden. Endelig indeholder Frameset XHTML alle elementer
fra Transitional plus elementer til brug for frameset.
Sammenhængen kan illustreres
således:

Så vil den skarpe læser straks
- og med rette - påstå, at man med HTML Strict er blevet
væsentlig begrænset i sine muligheder. Det er ganske rigtig. Til
gengæld har man garanti for, at ens dokumenter vises ens på alle
platforme og alle browsere.
Derudover skal man huske på, at
XHTML er nyt og stadig under udvikling ... og i øvrigt et
kompromis imellem HTML og XML - indtil XML kan implementeres
fuldt ud? Det betyder, at du i fremtiden vil kunne forvente en
masse nye elementer og muligheder med XHTML, som du ikke
tidligere havde med HTML. Årsagen, til at disse elementer endnu
ikke er til rådighed, er det udtalte ønske om at XHTML skal være
bagud kompatibelt.
Namespace identifikation
Så nåede vi endelig ned til det
velkendte <html> tag. Men selv dette ser anderledes ud i
XHTML. I XHTML skal <html> elementet nemlig indeholde en
attribut kaldet xmlns, som står for XML-Name-Space.
Attributten kan kun have den
faste struktur, som vist herunder. Egentlig kan du udelade xlmls,
uden at det betyder noget. Årsagen er, at en browser automatisk
vil forudsætte, at xlmls attributten er til stede i XHTML
dokumenter.
Elementet <html> skal også
indeholde attributten xml:lang, som angiver det sprog,
dokumentet er skrevet på. I vores eksempel angiver vi koden for
dansk.
Når attributterne indsættes i
<html> elementet, ser det således ud:
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="da">
Opsummering
Det var jo en længere smøre.
Men hvis vi skal tage den korte version, så skal de tre første
linier i et dansk XHTML-dokument skrevet efter standarden Strict
se således ud:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="da">
Det var en ordentlig omgang ...
lad os komme videre til noget mindre tungt ...
tilbage
næste

stem her!
|