documenten moeten well-formed zijn: elementen moeten correct genest zijn.
eindtags zijn steeds noodzakelijk voor niet-lege elementen
lege elementen worden ofwel voorzien van een eindtag ofwel beëindigd met een slash
elementen en attributen worden in kleine letters geschreven: vermits xml hoofdlettergevoelig is, wordt dit de afspraak
er moet minstens één spatie tussen attributen staan, meer mag
attribuutwaarden zijn steeds in aanhalingstekens (enkel of dubbel) vervat, ook al lijkt de waarde numerisch
attribuutafkorting (minimisatie) is niet toegelaten
bij elementen die karakters bevatten zoals < en & (bv.<style> en <script>) die door de xml parser geinterpreteerd kunnen worden, moet de inhoud vervat worden in een CDATA sectie.
om een element te identificeren mag enkel nog het attribuut id gebruikt worden, name wordt afgeschaft.
bij attributen met een voorgedefinieerde set van waarden, zoals het type attribuut, worden deze waarden steeds in kleine letters geschreven.
karakters die als hexadecimale waarden geschreven worden, moeten in kleine letters geschreven worden: U wordt U
xhtml 1.1
Verschilt met de vorige versie op een aantal punten:
er is slechts één document type, nl. xhtml 1.1
er zijn geen 'transitional' document types meer, alle ondersteuning voor 'deprecated' elementen is verwijderd: xhtml 1.1 is steeds Strict
de specificatie is opgesplitst in aparte modules, georganiseerd volgens topic, vb. 'table module' en 'text module'
de specificatie is toepasbaar voor een 'familie' van xhtml documenten, die infeite bestaan uit een verzameling modules.
het name atrribuut werd volledig vervange door id
een nieuwe collectie 'ruby' werd toegevoegd
De DOCTYPE declaratie voor xhtml 1.1 is:
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
@Import
Hieronder een voorbeeld van een geïmporteerd stylesheet: