Dit document is een Nederlandse vertaling van een Engelstalig document (http://www.w3.org/TR/xhtml1/).
Deze vertaling werd gemaakt door Andy Camps, vervolgens nagelezen door Ruud Steltenpool en gecorrigeerd door Andy Camps, maar kan nog enkele fouten bevatten. In geval van twijfel verwijzen wij naar de officiële Engelstalige versie.
|
Copyright ©2000 W3C® (MIT, INRIA, Keio), Alle Rechten Voorbehouden. W3C verantwoordelijkheid, handelsmerk, document gebruik en software licentie regels gelden.
Deze specificatie definieert XHTML 1.0, een herformulering van HTML 4 als een XML 1.0 toepassing en drie DTD's overeenkomstig met degene die gedefinieerd worden door HTML 4. De semantiek van de elementen en hun attributen zijn gedefinieerd in de W3C Aanbeveling voor HTML 4. Deze semantiek biedt de basis voor toekomstige uitbreidbaarheid van XHTML. Compatibiliteit met bestaande HTML User Agents is mogelijk door het volgen van een kleine set van richtlijnen.
Deze sectie omschrijft de status van dit document op het ogenblik van publicatie. Andere documenten kunnen dit document opvolgen. De laatste status van deze documentreeks wordt onderhouden door het W3C.
Dit document werd nagekeken door W3C Leden en andere geïntereseerde partijen en is bekrachtigd door de Directeur als een W3C Aanbeveling. Het is een stabiek document en kan gebruikt worden als referentiemateriaal of geciteeerd als een normatieve referentie vanuit een ander document. W3C's rol in het maken van de Aanbeveling is de aandacht vestigen op de specificatie en de verspreiding ervan promoten. Dit verbetert de functionaliteit en interoperabiliteit van het Web.
Dit document is gemaakt als deel van de W3C HTML Activity. De doelen van de HTML Working Group (enkel leden) worden besproken in het HTML Working Group charter (enkel leden ).
Een lijst van de huidige W3C Aanbevelingen en andere technische documenten kan gevonden worden op http://www.w3.org/TR.
Publieke discussie over HTML eigenschappen vindt plaats op de mailing list www-html@w3.org (archief).
Meldt fouten in de vertaling van dit document aan andy.camps@playgarden.com.
De lijst met bekende fouten van de originele Engelstalige specificatie is beschikbaar op http://www.w3.org/2000/01/REC-xhtml1-20000126-errata.
XHTML is een familie van huidige en toekomstige document types en modules die een subset zijn van HTML 4 [HTML] en tegelijk HTML 4 uitbreiden en reproduceren. XHTML familie document types zijn gebaseerd op XML en zijn uiteindelijk ontworpen om te werken in samenwerking met XML-gebaseerde User Agents. De details van deze familie en de evolutie ervan worden meer gedetailleerd besproken in de sectie over Toekomstige Richtlijnen.
XHTML 1.0 (deze specificatie) is het eerste document type in de XHTML familie. Het is een herformulering van de drie HTML 4 document types als toepassingen van XML 1.0 [XML]. Het is bedoeld om te gebruiken als taal voor inhoud die tegelijk XML-conforming is en als sommige eenvoudige richtlijnen gevolgd worden, werkt in HTML 4 conforming User Agents. Ontwikkelaars die hun inhoud migreren naar XHTML 1.0 zullen de volgende voordelen ondervinden:
De XHTML familie is de volgende stap in de evolutie van het Internet. Door vandaag te migreren naar XHTML kunnen inhoudontwikkelaars de XML wereld binnengaan met alle bedoelde voordelen terwijl ze er zeker van kunnen zijn dat hun inhoud terugwaarts compatibel is en in de toekomst ook compatibel zal zijn.
HTML 4 [HTML] is een SGML (Standard Generalized Markup Language) toepassing conform de Internationale Standaard ISO 8879, en wordt overal gezien als de standaard publicatietaal van het World Wide Web.
SGML is een taal voor het omschrijven van opmaaktalen, in het bijzonder de talen die gebruikt worden in electronische document uitwisseling, document management en documentpublicatie. HTML is een voorbeeld van een taal gedefinieerd in SGML.
SGML bestaat sinds midden jaren 80 en is redelijk stabiel gebleven. Veel van deze stabiliteit komt van het feit dat de taal zowel rijk aan eigenschappen als flexibel is. Deze flexibiliteit gaat echter gepaard met een prijs en deze prijs is een niveau van complexiteit die eigen is aan de aanpassing aan een verscheidenheid van omgevingen, inclusief het World Wide Web.
HTML, zoals origineel gemaakt, was bedoeld als taal voor de uitwisseling van wetenschappelijke en andere technische documenten, geschikt voor gebruik door niet-document specialisten. HTML addresseert het probleem van SGML complexiteit door het specifieren van een kleine set van structurele en semantische tags geschikt voor het schrijven van relatief eenvoudige documenten. Aanvullend op de vereenvoudiging van de document structuur, gaf HTML bijkomende ondersteuning voor hypertext. Multimedia mogelijkheden zijn later toegevoegd.
In een redelijk korte tijd werd HTML zeer populair en groeide snel buiten het originele doel. Sinds de creatie van HTML werden snel nieuwe elementen uitgevonden voor gebruik in HTML (als een standaard) en voor aanpassing van HTML aan verticale, sterk gespecialiseerde markten. Deze waslijst van nieuwe elementen heeft geleid tot compatibiliteitsproblemen voor documenten over verschillende platforms.
Aangezien de heterogeniteit van zowel software als platforms snel wijzigt, is het duidelijk dat de geschiktheid van 'klassieke' HTML 4 voor gebruik op deze platforms eerder beperkt is.
XML is de afkorting voor Extensible Markup Language en is een acronym van Extensible Markup Language [XML].
XML is ontwikkeld met als bedoeling het terugwinnen van de kracht en de flexibiliteit van SGML zonder het grootste deel van de complexiteit. Alhoewel het een gelimiteerde vorm van SGML is, behoudt XML het grootste deel van de SGML kracht en rijkheid en behoudt bovendien alle van de algemeen gebruikte eigenschappen van SGML.
Terwijl de meest waardevolle eigenschappen behouden blijven verwijdert XML veel van de complexe eigenschappen van SGML die het schrijven en ontwerp van geschikte software zowel moeilijk als duur maken.
De voordelen van migreren naar XHTML 1.0 worden hierboven beschreven. Een aantal algemene voordelen van migreren naar XHTML zijn:
De volgende termen worden gebruikt in deze specificatie. Deze termen vullen de definities in [RFC2119] aan gebaseerd op gelijkaardige definities in ISO/IEC 9945-1:1990 [POSIX.1]:
Deze versie van XHTML biedt een definitie van strikt Conforme XHTML documenten, welke beperkt worden door tags en attributen van de XHTML namespace. Zie Sectie 3.1.2 voor informatie over het gebruik van XHTML met andere namespaces, bijvoorbeeld om metadata op te nemen die uitgedrukt wordt in RDF binnen XHTML documenten.
Een Strikt Gelijkvormig XHTML Document is een document dat enkel faciliteiten nodig heeft die omschreven worden als vereist in deze specificatie. Zulk een document moet voldoen aan elk van de volgende criteria:
Het moet gevalideerd zijn tegenover één van de drie DTD's die gevonden kunnen worden in Appendix A.
Het root element van het document moet <html>
zijn.
Het root element van het document moet toegewezen zijn aan de XHTML namespace
door gebruik van het xmlns
attribuut [XMLNAMES]. De namespace voor XHTML wordt gedefinieerd als http://www.w3.org/1999/xhtml
.
Er moet een DOCTYPE declaratie in het document staan voor het root element. De public identifier die opgenomen wordt in de DOCTYPE declaratie moet refereren naar één van de drie DTD's in Appendix A gebruik makend van de Formal Public Identifier. De system identifier mag gewijzigd worden om te voldoen aan de lokale systeem conventies.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd">
Hier volgt een voorbeeld van een minimaal XHTML document.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Virtuele Biblitheek</title> </head> <body> <p>Verplaatst naar <a href="http://vlib.org/">vlib.org</a>.</p> </body> </html>
Merk op dat dit in voorbeeld de XML declaratie mee opgenomen is. Een XML declaratie zoals degene hierboven is niet vereist in alle XML documenten. XHTML document autheurs worden sterk aanbevolen om XML declaraties in al hun documenten te gebruiken. Zo'n declaratie is vereist wanneer de karakter encodering van het document niet de standaard UTF-8 or UTF-16 is.
De XHTML namespace kan gebruikt worden met andere XML namespaces zoals blijkt uit [XMLNAMES], hoewel zulke documenten geen strikt Conforme XHTML 1.0 documenten zijn zoals hierboven gedefinieerd. Toekomstig werk bij W3C zal de specificatie van Conformiteit aanpakken voor documenten met meerdere namespaces.
Het volgende voorbeeld toont een manier waarop XHTML 1.0 gebruikt kan worden in samenwerking met de MathML Aanbeveling:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl"> <head> <title>Een Math Voorbeeld</title> </head> <body> <p>Het volgende is MathML markup:</p> <math xmlns="http://www.w3.org/1998/Math/MathML"> <apply> <log/> <logbase> <cn> 3 </cn> </logbase> <ci> x </ci> </apply> </math> </body> </html>
Het volgende voorbeeld toont een manier waarop XHTML 1.0 opmaak opgenomen kan worden in een andere XML namespace:
<?xml version="1.0" encoding="UTF-8"?> <!-- de standaard namespace is initieel "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="nl" lang="nl"> <title>Goedkoper per Dozijn</title> <isbn:number>1568491379</isbn:number> <notes> <!-- maak HTML de standaard namespace voor een hypertext commentaar --> <p xmlns='http://www.w3.org/1999/xhtml'> Dit is ook beschikbaar <a href="http://www.w3.org/">online</a>. </p> </notes> </book>
Een Conforme User Agent moet voldoen aan alle van de volgende criteria:
ID
(zoals
het id
attribuut op de meeste XHTML elementen) als fragment identifiers
herkennen.De XML verwerker normaliseert lijn-einde-codes van verschillende systemen in één enkel line-feed karakter, dat doorgegeven wordt naar de toepassing. De XHTML User Agent moet aanvullend de volgende karakters als witruimtetekens aanvaarden:
In elementen waar het 'xml:space' attribuut op 'preserve' gezet is moet de User Agent alle witruimtetekens intact laten (met als uitzondering van voorafgaande en afsluitende witruimtetekens welke verwijderd zouden moeten worden). Witruimte wordt verder behandeld volgens de volgende regels:
Witruimte in attribuutwaarde wordt verwerkt volgens [XML].
Omdat XHTML een XML toepassing is moeten bepaalde praktijken die perfect legaal waren in SGML-gebaseerde HTML 4 [HTML] gewijzigd worden.
Correct-geformuleerdheid is een nieuw concept geïntroduceerd door [XML]. Essentieel betekent dit dat alle elementen ofwel eindtags moeten hebben ofwel geschreven moeten worden op een speciale manier (zoals beneden omschreven) en dat alle elementen moeten genest worden.
Hoewel overlapping illegaal is in SGML werd het algemeen getolereerd in bestaande browsers.
CORRECT: geneste elementen.
<p>hier is een benadrukte <em>paragraaf</em>.</p>
INCORRECT: overlappende elementen
<p>hier is een benadrukte <em>paragraaf.</p></em>
XHTML documenten moeten kleine letters zijn voor alle HTML element en attribuutnamen. Dit verschil is nodig omdat XML hoofdlettergevoelig (case-sensitive) is: <li> en <LI> zijn bijvoorbeeld verschillende tags.
In SGML-gebaseerde HTML 4 is het toegstaan dat bepaalde elementen geen eind
tag hebben; met de elementen die afsluiting veronderstellen. Deze weglating
is niet toegestaan in XML-gebased XHTML. Alle elementen behalve deze gedeclareerd
in de DTD als EMPTY
moeten een eind tag hebben.
CORRECT: afgesloten elementen
<p>hier is een paragraaf.</p><p>hier is een volgende paragraaf.</p>
INCORRECT: niet afgesloten elementen
<p>hier is een paragraaf.<p>hier is een volgende paragraaf.
Alle attribuutwaarden moeten tussen aanhalingstekens, zelfs degene die numeriek lijken te zijn.
CORRECT: attribuutwaarden tussen aanhalingstekens
<table rows="3">
INCORRECT: attribuutwaarden niet tussen aanhalingstekens
<table rows=3>
XML ondersteund geen attribuutminimalisatie. Attribuutwaardeparen moeten voluit
geschreven worden. Attribuutnamen zoals compact
en checked
kunnen niet voorkomen in elementen zonder dat hun waarde gespecificeerd is.
CORRECT: niet geminimaliseerde attributen
<dl compact="compact">
INCORRECT: geminimaliseerde attributen
<dl compact>
Lege elementen moeten ofwel een eind tag hebben ofwel moet de start tag eindigen
met />
. Bijvoorbeeld <br/>
of <hr></hr>
.
Zie HTML Compatibiliteitsrichtlijnen voor informatie over manieren
die deze terugwaartse compatibiliteit met HTML 4 User Agents verzekeren.
CORRECT: afgesloten lege tags
<br/><hr/>
INCORRECT: niet-afgesloten lege tags
<br><hr>
In attribuutwaarden zullen User Agents de voorafgaande en afsluitende witruimten van attribuutwaarden en map sequenties van één of meer witruimtekarakters (inclusief lijnafbrekingen) afstrippen tot één enkele inter-word spatie (een ASCII spatie karakter voor westerse scripts). Zie Sectie 3.3.3 van [XML].
In XHTML worden de script en style elementen gedeclareerd met #PCDATA
inhoud. Het gevolg is dat <
en &
behandeld
zullen worden als de start van de markup en entiteiten zoals <
en &
zullen herkend worden als entiteitreferenties bij
de XML verwerker tot <
respectievelijk &
. De
inhoud van het script of style element wrappen binnen een CDATA
gemarkeerde sectie vermijdt de uitbreiding van deze entiteiten.
<script> <![CDATA[ ... unescaped script inhoud ... ]]> </script>
CDATA
secties worden herkend door de XML verwerker en verschijnen
als nodes in het Document Object Model, Zie Sectie
1.3 van de DOM Level 1 Aanbeveling [DOM].
Een alternatief is het gebruik van externe scripts en style documenten.
SGML geeft de schrijver van een DTD de mogelijkheid om specifieke elementen uit te sluiten van gebruik binnen een element. Zulke beperkingen ("exclusies (exclusions)" genoemd) zijn niet mogelijk in XML.
De HTML 4 Strikt DTD verbiedt bijvoorbeeld het nesten van een 'a
'
element binnen een ander 'a
' element. Het is niet mogelijk om zulke
beperkingen te formuleren in XML. Hoewel deze beperkingen niet gedefinieerd
kunnen worden in de DTD, zouden sommige elementen niet genest mogen worden.
Een samenvatting van zulke elementen en de elementen die er niet in genest zouden
mogen worden wordt gevonden in de normatieve Appendix B.
HTML 4 definieerde het name
attribuut voor de elementen a
,
applet
, form
, frame
, iframe
,
img
en map
. HTML 4 introduceerde ook het id
attribuut. Beide attributen zijn geschikt om te gebruiken als fragment identifiers.
In XML zijn fragment identifiers van het type ID
en kan er slechts
één enkel attribuut van het type ID
per element zijn.
Daarom is in XHTML 1.0 het id
attribuut gedefinieerd van het type
ID
. Om te verzekeren dat XHTML 1.0 documenten correct-gestructureerde
XML documents, XHTML 1.0 documenten zijn MOET het id
attribuut
gebruikt worden wanneer fragment identifiers gedefinieerd worden, zelfs op elementen
die historisch gezien steeds een name
attribuut gehad hebben. Zie
de HTML Compatibiliteitsrichtlijnen voor informatie
over het verzekeren van zulke ankers als terugwaartscompatibel wanneer XHTML
documenten geboden worden met media type text/html
.
Merk op dat in XHTML 1.0 het name
attribuut van deze elementen
formeel afgeraden wordt en verwijderd zal worden in een opvolgende versie van
XHTML.
Hoewel het niet vereist is dat XHTML 1.0 documenten compatibel zijn met bestaande User Agents, is het in praktijk gemakkelijk om dit te doen. Richtlijnen voor het maken van compatibele documenten kunnen gevonden worden in Appendix C.
op het ogenblik van publicatie van deze aanbeveling is de algemeen aanbevolen MIME labeling voor XML-gebaseerde toepassingen nog niet opgelost.
Hoewel XHTML Documenten die de richtlijnen volgen die vooropgesteld worden in Appendix C, "HTML Compatibiliteitsrichtlijnen" kunnen ze gelabeld worden met het Internet Media Type "text/html", aangezien ze compatibel zijn met de meeste HTML browsers. Dit document geeft geen aanbeveling over MIME labeling van andere XHTML documenten.
XHTML 1.0 biedt de basis voor een familie van document types die XHTML zullen uitbreiden en subsetten om een zo breed mogelijk bereik van toestellen en toepassingen te ondersteunen, door definitie van modules en specificatie van een mechanisme voor combinatie van deze modules. Dit mechanisme zal de uitbreiding en de sub-setting van XHTML 1.0 activeren op een uniforme manier door de definitie van nieuwe modules.
Wanneer het gebruik van XHTML evolueert van de traditionele desktop User Agents naar andere platforms, is het duidelijk dat niet alle XHTML elementen vereist zullen zijn op alle platforms. Een palmtop of een draagbare telefoon kunnen bijvoorbeeld alleen ondersteuning bieden voor een subset van XHTML elementen.
Het proces van modularisatie breekt XHTML op in een serie van kleinere element sets. Deze elementen kunnen dan opnieuw gecombineerd worden om te voldoen aan de noden van verschillende gemeenschappen.
Deze modules zullen in een later W3C document gedefinieerd worden.
Modularisatie heeft een aantal voordelen:
Het biedt een formeel mechanisme voor sub-setting van XHTML.
Het biedt een formeel mechanisme voor uitbreiding van XHTML.
Het vereenvoudigt de transformatie tussen document types.
Het bevordert het hergebruik van modules in nieuwe document types.
Een document profiel specificeert de syntax en semantiek van een set van documenten. Conformiteit van een document profiel biedt een basis voor interoperabiliteitsgaranties. Het document profiel specificeert de faciliteiten die nodig zijn om documenten van dat type te verwerken, zoals welke figuurformaten gebruikt kunnen worden, levels van scripting, style sheet ondersteuning en zo voort.
Voor product ontwerpers activeert dit verscheidene groepen die hun eigen standaard profiel definiëren.
Voor auteurs zal dit de noodzaak om verschillende versies van documenten te schrijven voor verschillende clients overbodig maken.
Voor speciale groepen zoals chemici, doktoren of wiskundigen laat dit toe om een speciaal profiel te bouwen dat gebruik maakt van standaard HTML elementen en een groep van elementen gecreëerd voor de noden van de specialist.
Deze appendix is normatief.
Deze DTD's en entiteitsets vormen een normatief deel van deze specificatie. De complete set van DTD files samen met een XML declaratie en SGML Open Catalog is opgenomen in het zip bestand voor deze specificatie.
Deze DTD's benaderen de HTML 4 DTD's. Het is zeer waarschijnlijk dat wanneer de DTD's gemodulariseerd zijn, een methode van DTD constructie zal in werking treden die minder overeenstemt met HTML 4.
De XHTML entiteitsets zijn dezelfde als voor HTML 4, maar zijn aangepast om
geldige XML 1.0 entiteit declaraties te zijn. Merk op dat de entiteit voor het
Euro valutateken (€
of €
of €
)
gedefinieerd is als onderdeel van de speciale karakters.
Deze appendix is normatief.
De volgende elementen hebben beperkingen op de elementen die ze kunnen bevatten (zie Sectie 4.9). Deze beperking geldt op alle dieptes van nesting, dit wil zeggen dat het alle afstammende elementen bevat.
a
a
elementen bevatten.pre
img
, object
, big
, small
,
sub
of sup
elementen niet bevatten.button
input
, select
, textarea
, label
,
button
, form
, fieldset
, iframe
of isindex
elementen niet bevatten.label
label
elementen bevatten.form
form
elementen bevatten.Deze appendix is informatief.
Deze appendix vat ontwerprichtlijnen samen voor auteurs die hun XHTML documenten willen weergeven in bestaande HTML User Agents.
Wees bewust dat verwerkingsinstructies op sommige User Agents weergegeven worden. Merk echter ook op dat wanneer de XML declaratie niet opgenomen is in een document, het document enkel de standaard karakter coderingen UTF-8 of UTF-16 kan gebruiken.
Neem een spatie op voor de afsluitende /
en >
van lege elementen, zoals <br />
,
<hr />
en <img
src="karen.jpg" alt="Karen" />
. Gebruik ook de geminimaliseerde
tag syntax voor lege elementen, zoals <br />
, omdat de alternatieve syntax <br></br>
toegestaan door XML onzekere resultaten
kan geven in veel bestaande User Agents.
Wanneer een leeg geval van een element waarvan het inhoudsmodel niet EMPTY
is (bijvoorbeeld een lege titel of paragraaf) gebruikt wordt gebruik dan geen
geminimaliseerde vorm (gebruik dus <p> </p>
en niet <p />
).
Gebruik externe style sheets als jouw style sheet <
of &
of ]]>
of --
gebruikt. Gebruik externe scripts
als jouw script <
of &
of ]]>
of --
gebruikt. Merk op dat het aan XML parsers toegstaan wordt
om ongemerkt de inhoud van de opmerkingen te verwijderen. Daarom zal de historische
praktijk van "verbergen" van scripts en style sheets binnen opmerkingen om documenten
terugwaarts compatibel te maken waarschijnlijk niet werken zoals verwacht in
XML-gebaseerde implementaties.
Vermijdt lijnafbrekingen en meerdere witruimtekarakters binnen attribuutwaarden. Deze worden niet consistent behandeld door User Agents.
Neem niet meer dan één isindex
element op in de
head
van het document. Het
isindex
element
wordt afgeraden ten opzichte van het input
element.
lang
en xml:lang
AttributenGebruik zowel de lang
en xml:lang
attributen wanneer
de taal van een element gespecificeerd wordt. De waarde van het xml:lang
attribuut heeft voorrang.
In XML verwijzen URI's [RFC2396]
die eindigen met de fragment identifiers in de vorm "#foo"
niet
naar elementen met een attribuut name="foo"
; maar naar elementen
met een attribuut gedefinieerd van het type ID
, zoals het
id
attribuut in HTML 4. Veel bestaande HTML clients ondersteunen het
gebruik van ID
-type attributen op deze manier niet zodat identieke
waarden voorzien kunnen worden voor beide van deze attributen om de maximale
voorwaartse en terugwaartse compatibiliteit te verzekeren (zoals, <a id="foo" name="foo">...</a>
).
Aangezien de set van legale waarden voor attributen van het type ID
veel kleiner is dan deze van het type CDATA
, is het type van het
name
attribuut gewijzigd in NMTOKEN
. Dit attribuut
is zodanig beperkt dat het enkel dezelfde waarden kan hebben als het type ID
of als de Name
productie in XML 1.0 Sectie 2.5, productie 5. Jammer
genoeg kan deze beperking niet uitgedrukt worden in de XHTML 1.0 DTD's. Omwille
van deze wijziging moet de omzetting van bestaande HTML documenten met de nodige
zorg gebeuren. De waarden van deze attributen moet uniek zijn binnen het document,
geldig en iedere referentie naar deze fragment identifiers (zowel intern
als extern) moet geupdate worden wanneer de waarden wijzigen tijdens de conversie.
Merk tenslotte op dat XHTML 1.0 het name
attribuut van de a
,
applet
, form
, frame
, iframe
,
img
en map
elementen afraadt en dat het verwijderd
zal worden in opvolgende versies van XHTML.
Gebruik om karaktercodering te specifiëren in het document zowel de encoderende
attribuutspecificatie van de xml declaratie (zoals <?xml
version="1.0" encoding="EUC-JP"?>
) en een meta http-equiv statement
(zoals <meta http-equiv="Content-type" content='text/html;
charset="EUC-JP"' />
). De waarde van het encoderend attribuut
van de xml verwerkingsinstructie heeft voorrang.
Sommige HTML User Agents zijn niet in staat om booleaanse attributen
te interpreteren wanneer deze voorkomen in hun volledige (niet-geminimaliseerde)
vorm, zoals vereist door XML 1.0. Merk op dat dit probleem geen invloed heeft
op User Agents die overeenstemmen met HTML 4. De volgende attributen zijn
betrokken: compact
, nowrap
, ismap
, declare
,
noshade
, checked
, disabled
, readonly
,
multiple
, selected
, noresize
, defer
.
De Document Object Model level 1 Aanbeveling [DOM] definieert document object model interfaces voor XML en HTML 4. Het HTML 4 document object model specifieerd dat HTML element en attribuutnamen in hoofdletters teruggegeven worden. Het XML document object model specifieerd dat element en attribuutnamen teruggegeven worden op de manier waarop ze gespecificeerd zijn. In XHTML 1.0 zijn elementen en attributen gespecificeerd in kleine letters (lower-case). Dit ogenschijnlijk verschil kan geadresseerd worden op manieren:
text/html
via het DOM
kunnen het HTML DOM gebruiken en vertrouwen op element en attribuutnamen teruggezonden
in hoofdletters.text/xml
of application/xml
kunnen ook gebruik maken van de XML DOM. Elementen en attributen zullen teruggezonden
worden in kleine letters (lower-case). Sommige XHTML elementen zullen mogelijk
wel of niet verschijnen in de object tree omdat ze optioneel zijn in het inhoudsmodel
(zoals het tbody
element binnen table
). Dit komt
voor omdat in HTML 4 sommige elementen toegestaan werden die zodanig geminimaliseerd
mochten worden dan de start en eind tags beide weggelaten konden worden (een
SGML eigenschap). Dit is niet mogelijk in XML. In plaats van te vereisen dat
document auteurs extra elementen moeten invoegen, heeft XHTML de elementen
optioneel gemaakt. Toepassingen moeten zich overeenstemmend hieraan aanpassen. Wanneer een attribuutwaarde een ampersand bevat moet het uitgedrukt worden
als een karakter entiteit referentie (zoals "&
"). Wanneer
bijvoorbeeld het href
attribuut van het a
element
verwijst naar een CGI script dat parameters nodig heeft, moet het uitgedrukt
worden als http://mijn.site.dom/cgi-bin/mijnscript.pl?class=guest&name=user
in plaats van http://mijn.site.dom/cgi-bin/mijnscript.pl?class=guest&name=user
.
De Cascading Style Sheets level 2 Aanbeveling [CSS2] definieert style eigenschappen welke toegepast worden in de parse tree van het HTML of XML document. Verschillen in parsing zullen verschillende visuele of aurale resultaten produceren afhankelijk van de gebruikte selectors. De volgende hints zullen dit effect beperken voor documenten welke geserveerd worden zonder aanpassing aan beide media types:
Deze appendix is informatief.
Deze specificatie is geschreven met de medewerking van de leden van de W3C HTML working group:
Deze appendix is informatief.