1. Introductie

Inhoud

Dit deel is informatief.

1.1. Wat is XHTML?

XHTML is de herformulering van HTML 4 als een toepassing van XML. XHTML 1.0 [XHTML1] specificeert drie XML document types die overeenkomen met de drie HTML 4 DTD's: Strict, Transitional en Frameset. XHTML 1.0 is de basis voor een family van document types die een subset en een uitbreiding vormen op HTML.

1.2. Wat is XHTML Modularisatie?

XHTML Modularisatie is een decompositie van XHTML 1.0, door referentie HTML 4, in een collectie van abstracte modules die specifieke types van functionaliteit voorzien. Deze abstracte modules zijn geïmplementeerd in deze specificatie door gebruik te maken van de XML Document Type Definition taal. Er wordt echter een implementatie door gebruik te maken van XML Schemas verwacht. De regels voor definiëren van de abstracte modules, en voor het implementeren ervan door gebruik van XML DTD's, worden ook gedefinieerd in dit document.

Deze modules kunnen gecombineerd worden met elkaar en met andere modules om XHTML subset en uitbreiding document types te maken die voldoen als leden van de XHTML-family van document types.

1.3. Waarom XHTML Modulariseren?

De modularisatie van XHTML heeft betrekking op de taak om goed-gedefinieerde sets van XHTML elementen te specificeren die gecombineerd en uitgebreid kunnen worden door document auteurs, document type architecten, andere XML standaard specificaties en toepassings- en productontwerpers om het economisch haalbaar te maken dat inhoudontwerpers inhoud leveren op een groter aantal verschillende platforms.

In de laatste paar jaren hebben veel gespecialiseerde markten HTML gezien als een inhoudstaal. Er is een grote beweging naar het gebruik van HTML over toenemende diverse computing platforms. Momenteel is er beweging om HTML te verplaatsen naar mobiele toestellen (hand held computers, draagbare telefoons, enz.), televisie toestellen (digitale televisies, TV-gebaseerde Web browsers, enz.) en apparaten (toestellen met een vaste functie). Elk van deze toestellen heeft andere vereisten en andere beperkingen.

Modularisering van XHTML biedt productontwerpers een middel om te specificeren welke elementen ondersteund worden door een toestel, door gebruik te maken van standaard bouwblokken en standaard methoden, om te specificeren welke bouwblokken gebruikt worden. Deze modules dienen als "punten van aanpassing" voor de inhoud gemeenschap. De inhoud gemeenschap kan nu kijken naar de geïnstalleerde basis die een bepaalde collectie van modules ondersteund, in plaats van zich zorgen te moeten maken over de geïnstalleerde basis die deze of gene mutatie van XHTML elementen ondersteund. Het gebruik van standaards is kritiek voor gemodulariseerde XHTML om op een grote schaal succesvol te kunnen zijn. Het is niet economisch haalbaar dat inhoudontwerpers trachten de inhoud aan elke mutatie van XHTML elementen aan te passen. Door een standaard te specificeren kunnen, ofwel software processen autonoom de inhoud aanpassen aan een toestel, ofwel kan het toestel automatisch de software laden die nodig is om een module te verwerken.

Modularisatie laat ook toe dat de layout- en presentatiemogelijkheden van XHTML uitgebreid worden door gebruik te maken van de uitbreidbaarheid van XML. Dit alles zonder de XHTML standaard met voeten te treden. Deze manier van werken biedt een stabiel, bruikbaar en uitvoerbaar kader waarin inhoudontwerpers en uitgevers de snelle technologische evolutie van het Web kunnen volgen.

1.3.1. Abstracte modules

Een XHTML document type wordt gedefinieerd als een set van abstracte modules. Een abstracte module definieerd een soort van data die op semantische wijze verschilt van alle andere. Abstracte modules kunnen gecombineerd worden in document types zonder dat een gedetailleerd begrip van de onderliggende schema's, die de modules definiëren, nodig is.

1.3.2. Module implementaties

Een module implementatie bestaat uit een set van element types, een set van attribuut-lijst declaraties en een set van inhoudsmodel declaraties, waar elk van deze drie sets leeg mag zijn. Een attribuut-lijst declaratie in een module mag een element type aanpassen buiten de element types gedefinieerd in de module en een inhoudsmodel declaratie mag een element type aanpassen buiten de element type set van de module.

XML DTD's vormen een implementatiemechanisme. Een XML DTD is een middel om de structuur van een klasse van XML documenten, samen gekend als een XML document type, te omschrijven. XML DTD's worden omschreven in de XML 1.0 Aanbeveling [XML]. Een ander implementatiemechanisme is XML Schema [XMLSCHEMA].

1.3.3. Hybride document types

Een hybride document type is een document type dat samengesteld wordt uit een collectie van XML DTD's of DTD Modules. Het hoofddoel van het modularisatie kader omschreven in dit document is een DTD auteur toelaten om elementen van verschillende abstracte modules te combineren in een hybride document type, ontwerpen van documenten met dit hybride document type en dit document valideren met de geassocieerde hybride document type definitie.

Een van de meest waardevolle voordelen van XML ten opzichte van SGML is dat XML de instapbarričre verkleint voor standardisatie van sets van elementen die gemeenschappen toelaten om data uit te wisselen via een uitwisselbaar formaat. Hoewel de relatieve statische natuur van HTML als de inhoudstaal voor het Web betekende dat elk van deze gemeenschappen weinig hoop had dat hun XML document types uitgebreid verspreid zou worden als deel van Web standaards. Het modularisatie kader laat de dynamische omvatting van deze diverse document types toe in de XHTML-family van document types. Hierdoor worden de barričres voor de omvatting van deze domein-specifieke vocabulares in XHTML documenten verder verkleint.

1.3.4. Validatie

Het gebruik van correct gevormde, maar niet geldige, documenten is een belangrijk voordeel van XML. In het ontwikkelproces van een document type, is echter de aanvullende hefboomwerking, voorzien door een validatie parser voor foutcontrole, belangrijk. Dezelfde uitdrukking geldt voor XHTML document types met elementen van meerdere abstracte modules.

Een document is een geval van een specifiek document type gedefinieerd door de DTD die geïdentificeerd wordt in de proloog van het document. Validatie van het document is het proces van controle waaruit blijkt dat het document voldoet aan de regels in de document type definitie.

Een document kan bestaan uit meerdere document fragmenten. Validatie van delen van een document, waar elk deel een ander document type heeft dan de andere delen van het document, valt buiten de draagwijdte van dit kader - aangezien het een technologie zou vereisen die nog niet gedefinieerd is.

Het modularisatie kader laat echter wel toe dat meerdere document type definities geïntegreerd worden en zo een nieuw document type vormen (bijvoorbeeld SVG geïntegreerd in XHTML). De nieuwe document type definitie kan gebruikt worden voor normale XML 1.0 validatie.

1.3.5. Opmaakmodel

Eerdere versies van HTML trachten delen van het model te definiëren die user agents moesten gebruiken wanneer ze een document opmaakten. Met de verschijning van HTML 4, startte het W3C het proces van scheiding van presentatie van structuur. XHTML 1.0 behield deze scheiding en dit document gaat verder met de verschuiving van HTML en de afstammelingen ervan. Daarom stelt dit document geen vereisten op het opmaakmodel dat geassocieerd wordt met de presentatie van documenten die opgemaakt zijn met XHTML Family document types.

Dit document raadt in plaats daarvan aan dat inhoudsauteurs vertrouwen op style mechanismen zoals CSS om het opmaakmodel voor hun inhoud te bepalen. Wanneer user agents deze style mechanismen ondersteunen zullen documenten er uitzien zoals verwacht. Wanneer user agents de style mechanismen niet ondersteunen zullen documenten weergegeven worden op een manier die geschikt is voor die user agent. Dit laat XHTML Family user agents toe om rijke opmaakmodellen te ondersteunen voor toestellen waar dat voor geschikt is, terwijl opmaakmodellen ingekort (eng:lean) kunnen worden op toestellen waar dat passend is.