Inhoud
Dit deel is normatief.
Een abstracte module is een definitie van een XHTML module waarbij gebruik gemaakt wordt van prosatekst en enkele informele opmaakconventies. Aangezien een dergelijke definitie algemeen niet bruikbaar is in de geautomatiseerde verwerking van document types, is het critisch dat mensen geholpen worden in het begrijpen van hetgene in een module bevat zit. Dit deel definieert de wijze waarop XHTML abstracte modules gedefinieerd worden. Een XHTML-conforme module is niet vereist om een abstracte module definitie te verzorgen. Iedereen die een XHTML module ontwikkelt wordt echter aangeraden om een abstractie (samenvatting) te voorzien om het gebruik van de module te vergemakkelijken.
De abstracte modules worden niet gedefinieerd in een formele grammatica. De definities leunen echter aan bij de volgende syntactische conventies. Deze conventies zijn vergelijkbaar met deze van XML DTD's en zouden bekend moeten voorkomen voor XML DTD auteurs. Elk discreet syntactisch element kan gecombineerd worden met anderen om complexere expressies te kunnen vormen die conform zijn aan de algebra die hier gedefinieerd wordt.
expr ?
expr +
expr *
a , b
a
, gevolgd door uitdrukking b
is vereist.a | b
a - b
&
).*
).|
), binnen haakjes volgend op de attribuutnaam. Als het attribuut een standaardwaarde heeft, wordt deze waarde gevolgd door een sterretje (asterisk) (*
). Als het attribuut een vaste (fixed) waarde heeft, wordt de attribuutnaam gevolgde door een gelijkheidsteken (=
) en de vaste (fixed) waarde wordt omsloten door aanhalingstekens.Abstracte module definities definiëren minimale, atomische inhoudsmodellen voor elke module. Deze minimale inhoudsmodellen verwijzen naar de elementen in de module zelf. Ze mogen ook verwijzen naar elementen in andere modules waar de abstracte module van af hangt. In veel gevallen vereist het inhoudsmodel dat tekst toegestaan is als inhoud voor één of meer elementen. In deze gevallen is het symbool dat gebruikt wordt voor tekst PCDATA. Deze term, die gedefinieerd wordt in de XML 1.0 Aanbeveling, verwijst naar "processed character data" (verwerkte karakterdata. Een inhoudstype kan ook gedefinieerd worden als EMPTY, hetgeen betekent dat het element geen inhoud heeft in het minimale inhoudsmodel.
In sommige gevallen is het nodig dat de types of attribuutwaarden of de expliciete set van toegelaten waarden voor attributen gedefinieerd wordt. De volgende attribuuttypes (gedefinieerd in de XML 1.0 Aanbeveling) worden gebruikt in de definities van de abstracte modules:
Attribuuttype | Definitie |
---|---|
CDATA | Karakterdata (Character data) |
ID | Een documentunieke identificator |
IDREF | Een verwijzing naar een documentunieke identificator |
IDREFS | Een door spaties gescheiden lijst van verwijzingen naar een documentunieke identificatoren |
NAME | Een naam met dezelfde karakterbeperkingen als ID hierboven |
NMTOKEN | Een naam samengesteld uit alleen naamtokens zoals deze gedefinieerd worden in XML 1.0 [XML] |
NMTOKENS | Eén of meer witruimtetekens gescheiden door NMTOKEN waarden |
PCDATA | Verwerkte karakterdata (Processed character data) |
Aanvullend op deze voorgedefinieerde data types definieert XHTML Modularisatie de volgende data types en hun (overeenkomstige) semantieken:
Data type | Omschrijving | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Character | Een enkel karakter uit [ISO10646]. | ||||||||||||||||||||||||||||||||
Characterset | Een karaktercodering zoals volgens [RFC2045]. | ||||||||||||||||||||||||||||||||
Charactersets | Een door spaties gescheiden lijst van karaktercoderingen zoals volgens [RFC2045]. | ||||||||||||||||||||||||||||||||
Color |
De attribuutwaarde van het type "Color" verwijst naar kleurdefinities zoals deze gespecificeerd worden in [SRGB]. Een kleurwaarde kan ofwel een hexadecimaal getal (voorafgegaan door een hekje (hash mark)) ofwel één van de volgende zestien kleurnamen zijn. De kleurnamen zijn hoofdletter-ongevoelig.
De kleurwaarden "#800080" en "Purple" verwijzen beide naar de kleur paars. |
||||||||||||||||||||||||||||||||
ContentType | Een mediatype zoals volgens [RFC2045]. | ||||||||||||||||||||||||||||||||
ContentTypes | Een door komma's gescheiden lijst van mediatypes zoals volgens [RFC2045]. | ||||||||||||||||||||||||||||||||
Coords | Een door komma's gescheiden lijst van coördinaten die gebruikt worden om gebieden te definiëren. | ||||||||||||||||||||||||||||||||
Datetime | Datum- en tijdsinformatie. | ||||||||||||||||||||||||||||||||
FPI | Een karakter string die een SGML Formele Publieke Identificator vertegenwoordigd. | ||||||||||||||||||||||||||||||||
FrameTarget | Frame naam die gebruikt wordt als doel voor resultaten van bepaalde acties. | ||||||||||||||||||||||||||||||||
LanguageCode | Een taalcode zoals volgens [RFC3066]. | ||||||||||||||||||||||||||||||||
Length | De waarde kan ofwel in pixels ofwel een percentage van de beschikbare horizontale of verticale ruimte zijn. De waarde "50%" betekent dus de helft van de beschikbare ruimte. | ||||||||||||||||||||||||||||||||
LinkTypes |
Auteurs kunnen de volgende link types, hier vermeld met hun conventionele interpretaties, gebruiken. Een LinkTypes waarde verwijst naar een door spaties gescheiden lijst van link types. Witruimtetekens zijn niet toegestaan in link types. Deze link types zijn hoofdletterongevoelig, hetgeen wil zeggen dat "Alternate" hetzelfde betekent als "alternate". User agents, search engines, enz. kunnen deze link types op verschillende manieren interpreteren. User agents kunnen bijvoorbeeld toegang bieden aan gelinkte documents via een navigatiebalk.
|
||||||||||||||||||||||||||||||||
MediaDesc |
Het MediaDesc attribuut is een door komma's gescheiden lijst van media omschrijvingen. Hier volgt een lijst van herkende media omschrijvingen:
Toekomstige versies van XHTML kunnen nieuwe waarden introduceren en zouden geparameteriseerde waarden kunnen toelaten. Om de introductie van deze uitbreidingen te vergemakkelijken, moeten conforme user agenten in staat zijn om de media attribuutwaarde als volgt te verwerken (parsen):
Opmerking. Stylesheets kunnen media-afhankelijke variaties bevatten (zoals de CSS @media construct). In zulke gevallen kan het gepast zijn om "media =all" te gebruiken. |
||||||||||||||||||||||||||||||||
MultiLength | De waarde kan een lengte of een relatieve lengte zijn. Een relatieve lengte heeft de vorm "i*", waar "i" een integer is. Wanneer user agenten de plaats verdelen voor de elementen die plaats willen innemen, verdelen ze eerst pixel en percentage lengtes. Daarna wordt de resterende beschikbare ruimte verdeeld onder de relatieve lengtes. Elke relatieve lengte ontvangt een deel van de beschikbare ruimte die proportioneel is aan de integer die voorafgaat aan het "*". De waarde "*" is equivalent aan "1*". Als er dus 60 pixels plaats beschikbaar is nadat een user agent de ruimte ingedeeld heeft in pixel en percentage ruimte en de deelnemende relatieve lengtes zijn 1*, 2* en 3*, zal 1* 10 pixels toegewezen krijgen, zal 2* 20 pixels toegewezen kijgen en zal 3* 30 pixels toegewezen krijgen. | ||||||||||||||||||||||||||||||||
MultiLengths | Een door komma's gescheiden lijst van items van het type MultiLength. | ||||||||||||||||||||||||||||||||
Number | Eén of meer digits | ||||||||||||||||||||||||||||||||
Pixels | De waarde is een integer die het aantal pixels van de canvas aangeeft (scherm, papier). De waarde "50" betekent dus vijftig pixels. Raadpleeg [CSS2] voor normatieve informatie over de definitie van een pixel | ||||||||||||||||||||||||||||||||
Script |
Script data kan de inhoud van het "script" element en de waarde van intrinsieke gebeurtenisattributen zijn. User agenten moeten script data niet evalueren als HTML opmaak, maar in de plaats de data doorgeven aan een script engine. De hoofdlettergevoeligheid van script data hangt af van de scripttaal. Merk op dat script data die elementinhoud is bepaalde tekens niet mag bevatten terwijl script data die de waarde is van een attribuut dit wel kan. |
||||||||||||||||||||||||||||||||
Shape | De vorm van een region. | ||||||||||||||||||||||||||||||||
Text | Arbitraire textuele data, waarschijnlijk bedoeld als leesbaar door de mens. | ||||||||||||||||||||||||||||||||
URI | Een Uniform Resource Identifier (Uniforme Bron Identificator) zoals volgens [URI]. | ||||||||||||||||||||||||||||||||
URIs | Een door spaties gescheiden lijst van Uniform Resource Identifiers zoals volgens [URI]. |
Dit deel is informatief
Dit deel definieert een voorbeeld abstracte module om aan te geven hoe voordeel gehaald kan worden uit de syntaxregel hierboven gedefinieerd. Aangezien dit voorbeeld tracht alle verschillende syntactische elementen die gedefinieerd zijn te gebruiken, is het behoorlijk complex. Normale module definities zullen veel eenvoudiger zijn dan deze. Merk tot slot op dat deze module referentie de attribuut collectie Common gebruikt. Dit is een collectie die gedefinieerd wordt in de XHTML Modularisatie aanbeveling die alle basisattributen bevat die de meeste elementen nodig hebben.
De XHTML Skiing Module definieert opmaak gebruikt wanneer kenmerken van een skihut omschreven worden. De elementen en attributen in deze module zijn:
Elementen | Attributen | Minimale Inhoudsmodel |
---|---|---|
vakantieoord | Common, href (CDATA) | omschrijving, Aspen+ |
hut | Common | omschrijving, (Aspen - lift)+ |
lift | Common, href | omschrijving? |
vakantiehuisje | Common, href | omschrijving? |
kamer | Common, href | omschrijving? |
hal | Common, href | omschrijving? |
open haard | Common, href | omschrijving? |
omschrijving | Common | PCDATA* |
Deze module definieert ook de inhoudset Aspen met het minimale inhoudsmodel hut | lift | vakantiehuisje | kamer | hal | open haard.