W3C

I possibili errori presenti in questo documento, dovuti alla traduzione, sono di responsabilità del traduttore e non sono in alcun modo imputabili al W3C. Per qualsiasi commento riguardante la traduzione rivolgersi a patrizia.andronico@iat.cnr.it.

L'unica versione ufficiale di questo documento quella originale inglese: http://www.w3.org/TR/2000/REC-xhtml-basic-20001219

XHTML Basic

W3C Recommendation 19 December 2000

Questa versione (in inglese):
http://www.w3.org/TR/2000/REC-xhtml-basic-20001219
(Plain text version, PostScript version, PDF version, ZIP archive, or Gzip'd TAR archive)
Ultima versione (in inglese):
http://www.w3.org/TR/xhtml-basic
Precedente versione (in inglese):
http://www.w3.org/TR/2000/PR-xhtml-basic-20001103
Autori:
Mark Baker, Sun Microsystems
Masayasu Ishikawa, W3C
Shinichi Matsui, Panasonic
Peter Stark, Ericsson
Ted Wugofski, Openwave Systems
Toshihiko Yamakami, ACCESS Co., Ltd.

Abstract

Il tipo di documento XHTML Basic comprende l'insieme minimo dei moduli richiesti per essere un tipo di documento di linguaggio host XHTML oltre ad immagini, form, tabelle di base e altri oggetti supportati. E' stato disegnato per i client Web che non supportano l'insieme completo delle caratteristiche di XHTML; per esempio, client Web del tipo telefoni cellulari, PDA, pagers, e settop boxes. Il tipo di documento è sufficientemente ricco per gli autori di contenuto.

XHTML Basic è stato disegnato come base di partenza con possibilità di estensione. Per esempio, potrebbe essere aggiunto un modulo evento che è più generico di quello del sistema eventi tradizionale di HTML 4 o potrebbe essere esteso da moduli aggiuntivi presi dalla Modularizzazione di XHTML come il Modulo di Scripting. Lo scopo di XHTML Basic è quello di servire come linguaggio comune supportato da vari tipi di user agent.

La definizione del tipo di documento è stata implementata usando i moduli XHTML come definiti in "Modularizzazione di XHTML" [XHTMLMOD].

Stato di questo documento

Questa sezione descrive lo stato di questo documento al momento della sua pubblicazione. Altri documenti potrebbe sostituire questo documento. L'ultima versione di questa serie di documenti è mantenuta al W3C.

Questo documento è stato rivisto dai membri del W3C e da altre parti interessate ed è stato approvato dal Direttore come una Raccomandazione del W3C. E' un documento stabile e può essere usato come materiale di riferimento o citato da un altro documento come una normativa di riferimento. L'obiettivo del W3C nel fare le Raccomandazioni è quello di richiamare l'attenzione alle specifiche e di promuovere la loro più ampia diffusione. Questo aumenta la funzionalità e l'interoperabilità del Web.

Questo documento è stato prodotto dal W3C HTML Working Group (members only) come parte del W3C HTML Activity. Si integra con i feedback ricevuti dal WAP Forum e dai membri del W3C Mobile Access Interest Group (members only). Questo documento sarà usato dal W3C HTML Working Group e dal W3C Mobile Access Interest Group per trovare un terreno comune per futuri linguaggi di markup mirati al contenuto per piccoli apparecchi.

"La Modularizzazione di XHTML" [XHTMLMOD] definisce i moduli di XHTML utilizzati nel documento di tipo XHTML Basic. Al momento di questa pubblicazione, si è chiuso il periodo di analisi della "Modularizzazione di XHTML" come Candidate Recommendation. Basandosi su questa analisi, il W3C HTML Working Group crede che la definizione dei moduli usati in XHTML Basic sia stabile, e che il Working Group non apporterà cambiamenti alla "Modularizzazione di XHTML" che potrebbero essere incompatibili con XHTML Basic.

La discussione pubblica su HTML viene fatta all'indirizzo www-html@w3.org (archivio). Per iscriversi alla lista basta inviare una mail a ww-html-request@w3.org con la parola subscribe nel soggetto.

Per favore riportate ogni errore presente in questo documento a www-html-editor@w3.org (archivio). Una lista degli errori noti in questo documento è disponibile all'indirizzo http://www.w3.org/2000/12/REC-xhtml-basic-20001219-errata (solo in inglese).

La versione inglese di questa specifica è la sola versione normativa. Informazioni sulle traduzioni di questo documento sono disponibili all'indirizzo http://www.w3.org/MarkUp/translations.

Un elenco delle attuali Raccomandazioni del W3C e di altri documenti tecnici è reperibile all'indirizzo http://www.w3.org/TR.

Indice

1. Introduzione

1.1. XHTML per piccoli apparecchi

HTML 4 è un linguaggio potente per gli autori di contenuto su Web, ma la sua struttura non prende in considerazione i problemi pertinenti ai piccoli dispositivi (device), incluso il costo di implementazione (in potenza, memoria, etc.) dell'intero insieme di caratteristiche. I dispositivi dell'utente con risorse limitate non possono generalmente permettersi di implementare l'insieme completo delle caratteristiche di HTML 4. Richiedere un computer super accessoriato per l'accesso al World Wide Web esclude un grossa fetta della popolazione dai consumatori di accesso a servizi e informazioni online.

Poichè ci sono molti modi di creare sottoinsiemi di HTML, ci sono almeno altrettanti identici sottoinsiemi definiti da organizzazioni o compagnie. Senza un insieme di caratteristiche comuni di base lo sviluppo di applicazioni ad ampio raggio per i client Web è molto difficile.

La motivazione di XHTML Basic è fornire un tipo di documento XHTML che possa essere condiviso tra le comunità (per esempio, desktop, TV e telefonia cellullare) e che sia abbastanza ricco da poter essere usato per la creazione di semplice contenuto. Nuovi tipi di documento per vaste comunità possono essere definiti per estendere XHTML Basic in modo tale che i documenti XHTML Basic sia nell'insieme dei documenti validi del nuovo tipo di documenti. Quindi un documento XHTML Basic può essere presentato sul massimo numero di client Web.

La definizione del tipo di documento per XHTML Basic è stata implementata basandosi sui moduli XHTML definiti nel documento Modularization di XHTML [XHTMLMOD].

1.2. Background e requisiti

Gli apparecchi sono designati per particolari gli usi. Supportano le caratteristiche di cui hanno bisogno per le funzioni che sono destinati a compiere. Quelli che seguono sono esempi di diversi apparecchi:

I sottoinsiemi esistenti e le varianti di HTML per questi client includono "Compact HTML" [CHTML], il linguaggio Wireless Markup Language [WML], e la guida "HTML 4.0 Guidelines for Mobile Access" [GUIDELINES]. Le caratteristiche comuni trovate in questi tipi di documenti comprendono:

Questo insieme di caratteristiche di HTML è stato il punto di partenza per lo sviluppo di XHTML Basic. Poichè molti sviluppatori di contenuto sono familiari con queste caratteristiche di HTML, essi comprendono un linguaggio di host utile che possa essere combinato con moduli di markup da altri linguaggi secondo i metodi descritti nella "Modularizzazione di XHTML" [XHTMLMOD]. Per esempio, XHTML Basic può essere esteso con un modulo evento più generico del sistema di eventi tradizionale di HTML 4 o potrebbe essere esteso da moduli aggiuntivi presi dalla Modularizzazione di XHTML come lo Scripting Module.

Non è nell'intenzione di XHTML Basic limitare la funzionalità di linguaggi futuri. Comunque, da quando sono state sviluppate le caratteristiche di HTML 4 (frame, tabelle avanzate, un insieme fisso di attributi per la gestione degli eventi, etc.) per un tipo di client per computer da tavolo, è stato provato che sono risultate inappropriate per molte periferiche non da tavolo (non-desktop). XHTML Basic crescerà e verrà esteso ancora. Estendere XHTML da un insieme di caratteristiche comuni di base, invece di sottoinsiemi identici o insiemi troppo grandi di funzioni in HTML 4, sarà una buona cosa sia per la interoperabilità su Web, che per la scalabilità.

Confrontato alle grandi funzionalità di HTML 4, XHTML Basic può sembrare un passo indietro, mentre di fatto, è due passi avanti per quei client che non hanno bisogno di quello che c'è in HTML 4 e per sviluppatori di contenuto che prendono un sottoinsieme di XHTML piuttosto che molti.

1.3. Design Rationale

Questa sezione spiega perchè certe caratteristiche di HTML non fanno parte di XHTML Basic.

1.3.1. Style Sheets

L'elemento style non è supportato. Sono raccomandati gli style sheet esterni. L'elemento link può essere usato per includere style sheet esterni. Gli elementi div e span e l'attributo class sono supportati per informazioni di stile agganciate all'interno della struttura. La separazione fra la struttura e la presentazione permette agli user agent di scaricare gli style sheet nel caso in cui li supportino; gli user agent che non supportano gli style sheet possono ignorare il foglio di stile esterno. L'attributo media può essere usato per selezionare lo style sheet appropriato. Vedere la sezione sui "Tipi di media" nella specifica di HTML 4.01 ([HTML4], sezione 14.2.4) per ulteriori dettagli.

1.3.2. Script e Events

Gli elementi script e noscript non sono supportati. Normalmente le piccole periferiche hanno una memoria e una potenza di CPU limitate. L'esecuzione di programmi di script potrebbe non essere supportata. Il contenuto dovrebbe essere leggibile anche quando non vengono eseguiti gli script.

Non sono supportati gli attributi Event handler usati per richiamare programmi di script. Gli eventi sono dipendenti dalla periferica (device). Un evento di chiamata-ricevuta è improbabile che accada con un televisore. Un meccanismo di gestione degli eventi generico sarebbe più appropriato che cablare i nomi degli eventi nella definizione del tipo di documento.

1.3.3. Presentazione

Molti semplici client Web non possono visualizzare font diversi da quelli monospazio. Il testo bidirezionale, il font in grassetto, e altri elementi per l'estensione del testo non sono supportati.

Si raccomanda di usare gli style sheet per creare una presentazione appropriata per la periferica.

1.3.4. Form

In XHTML Basic ([XHTMLMOD], sezione 5.5.1) sono supportate le form. Poichè solo i device con un file system locale possono trarre vantaggio dall'input di file e immagini in una form, questi non sono inclusi nelle form di base. Inoltre, gli sviluppatori di contenuto dovrebbe tenere in considerazione che gli utenti possono non essere capaci di inserire molti caratteri da alcuni device (per esempio da un telefono cellulare).

1.3.5. Table

In XHTML Basic ([XHTMLMOD], sezione 5.6.1) sono supportate le tabelle, ma potrebbe essere difficile visualizzarle su piccoli device. Si raccomanda agli sviluppatori di contenuto di seguire le linee guida dell'accessibilità per la creazione di tabelle accessibili ([WCAG10], Lineeguida 5). Notare che in Basic Tables Module, viene proibito l'annidamento di tabelle.

1.3.6. Frame

I frame non sono supportati. I frame dipendono dall'interfaccia dello schermo e possono non essere applicabili ad alcuni piccoli apparecchi come telefoni, pagers, e watches.

2. Conformità

Questa sezione è normativa.

2.1. Conformità del documento

Un documento conforme XHTML Basic è un documento che richiede solo le caratteristiche descritte come obbligatorie in queste specifiche. Un tipo di documento di questo genere deve incontrare tutti i seguenti criteri :

  1. Il documento deve essere conforme ai vincoli espressi in Appendice B.
  2. L'elemento radice del documento deve essere <html>.
  3. Il nome del namespace di default dell'elemento radice deve essere il nome del namespace di XHTML, http://www.w3.org/1999/xhtml.
  4. Ci deve essere una dichiarazione DOCTYPE nel documento prima dell'elemento radice. Se presente, l'identificatore pubblico incluso nella dichiarazione DOCTYPE deve riferirsi alla DTD trovata in Appendice B usando il suo Identificatore Pubblico Formale (Formal Public Identifier). L'identificatore di sistema può essere appropriatamente modificato.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
        "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
    
  5. Il sottoinsieme della DTD non deve essere usato per sovrascivere nessuna entità di parametro nella DTD.

2.2. Conformità degli user agent

Gli user agent devono essere conformi alla sezione "User Agent Conformance" delle specifiche di XHTML ([XHTML1], sezione 3.2).

3. Il tipo di documento di XHTML Basic

Questa sezione è normativa.

Il tipo di documento di XHTML Basic è definito come un insieme dei moduli di XHTML. Tutti i moduli XHTML sono definiti nella specifica "Modularizzazione di XHTML" [XHTMLMOD].

XHTML Basic consiste dei seguenti moduli XHTML:

Structure Module*
body, head, html, title
Text Module*
abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var
Hypertext Module*
a
List Module*
dl, dt, dd, ol, ul, li
Basic Forms Module
form, input, label, select, option, textarea
Basic Tables Module
caption, table, td, th, tr
Image Module
img
Object Module
object, param
Metainformation Module
meta
Link Module
link
Base Module
base

(*) = Questo è un modulo richiesto da XHTML Host Language.

Una DTD di XML 1.0 è disponibile in Appendice B.

NOTA: Poichè gli attributi dell'alimentatore dell'event handler dell'HTML non sono inclusi in Basic XHTML, la form che controlla la form esterna potrebbe non funzionare così come si aspetterebbe un utente.

4. Come usare XHTML Basic

Sebbene Basic XHTML può essere usato così come è - un semplice linguaggio XHTML con testo, link e immagini - l'intenzione della semplicità del suo disegno è quella di essere usato come un linguaggio di host. Un linguaggio di host può contenere un mescolanza di vocabolari tutti inseriti in un tipo di documento. E' naturale che XHTML sia il linguaggio di host, poichè questo è quello a cui molti sviluppatori Web sono abituati.

Quando saranno aggiunti marcatori da altri linguaggi, il tipo di documento risultante di XHTML Basic sarà un'estensione di XHTML Basic. Gli sviluppatori di contenuto possono sviluppare per XHTML Basic o trarre vantaggio dalle estensioni. Lo scopo di XHML Basic è quello di servire come un linguaggio comune supportato da vari tipi di user agent.

5. Ringraziamenti

Questa specifica è stata preparata dal W3C HTML Working Group, i cui membri sono:

Grazie a Gary Adams (Sun Microsystems), Jonny Axelsson (Metastasis design), Peter Chen (Philips), Dan Connolly (W3C), John Cowan (Reuters), Martin J. Dürst (W3C), Johan Hjelm (Ericsson), Ian Jacobs (W3C), Susan Lesch (W3C), Louis Theran (Nokia), Quinton Zondervan (Lotus), mebri del W3C Mobile Access Interest Group, al W3C Synchronized Multimedia Working Group, al W3C WAI Protocols and Formats Working Group, e al WAP Forum, per i contributi, l'analisi e i commenti su questo documento.

A. Riferimenti

A.1. Riferimenti normativi

[HTML4]
"HTML 4.01 Specification", W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, eds., 24 December 1999. Disponibile all'indirizzo: http://www.w3.org/TR/1999/REC-html401-19991224
L'ultima versione è disponibile all'indirizzo: http://www.w3.org/TR/html4
[XHTML1]
"XHTML 1.0: The Extensible HyperText Markup Language - A Reformulation of HTML 4 in XML 1.0", W3C Recommendation, Steven Pemberton et al., 26 January 2000. Disponibile all'indirizzo: http://www.w3.org/TR/2000/REC-xhtml1-20000126
L'ultima versione è disponibile all'indirizzo: http://www.w3.org/TR/xhtml1
[XHTMLMOD]
"Modularization of XHTML", W3C Candidate Recommendation, R. Adams, M. Altheim, F. Boumphrey, S. Dooley, S. McCarron, S. Schnitzenbaumer, T. Wugofski, eds., 20 October 2000. Disponibile all'indirizzo: http://www.w3.org/TR/2000/CR-xhtml-modularization-20001020
L'ultima versione è disponibile all'indirizzo: http://www.w3.org/TR/xhtml-modularization
[XML]
"Extensible Markup Language (XML) 1.0 (Second Edition)", W3C Recommendation, T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, eds., 6 October 2000. Disponibile all'indirizzo: http://www.w3.org/TR/2000/REC-xml-20001006
L'ultima versione è disponibile all'indirizzo: http://www.w3.org/TR/REC-xml

A.2. Riferimenti informativi

[CHTML]
"Compact HTML for Small Information Appliances", W3C Note, T. Kamada, 9 February 1998. Disponibile all'indirizzo: http://www.w3.org/TR/1998/NOTE-compactHTML-19980209
[GUIDELINES]
"HTML 4.0 Guidelines for Mobile Access, W3C Note, T. Kamada, T. Asada, M. Ishikawa, S. Matsui, eds., 15 March 1999. Disponibile all'indirizzo: http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315
L'ultima versione è disponibile all'indirizzo: http://www.w3.org/TR/NOTE-html40-mobile
[WAI-WEBCONTENT]
"Web Content Accessibility Guidelines 1.0", W3C Recommendation, W. Chisholm, G. Vanderheiden, I. Jacobs, eds., 5 May 1999. Disponibile all'indirizzo: http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505
L'ultima versione è disponibile all'indirizzo: http://www.w3.org/TR/WAI-WEBCONTENT
[WML]
"Wireless Markup Language Specification", WAP Forum Ltd. Disponibile a http://www.wapforum.org/what/technical.htm

B. Definizione del tipo di documento per XHTML Basic

Questa appendice è normativa.

B.1. SGML Open Catalog Entry for XHTML Basic

Questa sezione contiene la definizione del formato per SGML Open Catalog dell'FPI XHTML Basic.

-- .......................................................................... --
-- File catalog  ............................................................ --

--  XHTML Basic Catalog Data File

    Revision:  $Id: xhtml-basic10.cat,v 2.4 2000/12/18 21:42:58 mimasa Exp $ SMI

    See "Entity Management", SGML Open Technical Resolution 9401 for detailed
    information on supplying and using catalog data. This document is available
    from OASIS at URL:

        <http://www.oasis-open.org/html/tr9401.html>
--

-- .......................................................................... --
-- SGML declaration associated with XML  .................................... --

OVERRIDE YES

SGMLDECL "xml1.dcl"

-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --

-- XHTML Basic DTD modular driver file  ..................................... --

PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"                       "xhtml-basic10.dtd"

-- XHTML Basic framework module ............................................. --

PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN"  "xhtml-basic10-model-1.mod"


-- End of catalog data  ..................................................... --
-- .......................................................................... --

B.2. XHTML Basic Driver

Questa sezione contiene il driver per l'implementazione del tipo di documento di XHTML Basic come DTD di XML . Si basa sulle implementazioni del modulo di XHTML definite in [XHTMLMOD].

<!-- XHTML Basic 1.0 DTD  ...................................................... -->
<!-- file: xhtml-basic10.dtd -->

<!-- XHTML Basic 1.0 DTD

     This is XHTML Basic, a proper subset of XHTML.

     The Extensible HyperText Markup Language (XHTML)
     Copyright 1998-2000 World Wide Web Consortium
        (Massachusetts Institute of Technology, Institut National de
         Recherche en Informatique et en Automatique, Keio University).
         All Rights Reserved.

     Permission to use, copy, modify and distribute the XHTML Basic DTD
     and its accompanying documentation for any purpose and without fee is
     hereby granted in perpetuity, provided that the above copyright notice
     and this paragraph appear in all copies.  The copyright holders make
     no representation about the suitability of the DTD for any purpose.

     It is provided "as is" without expressed or implied warranty.

        Editors:    Murray M. Altheim <mailto:altheim@eng.sun.com>
                    Peter Stark       <mailto:Peter.Stark@ecs.ericsson.se>
        Revision:   $Id: xhtml-basic10.dtd,v 2.13 2000/12/18 12:56:23 mimasa Exp $ SMI

-->
<!-- This is the driver file for version 1.0 of the XHTML Basic DTD.

     This DTD is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC: "-//W3C//DTD XHTML Basic 1.0//EN"
     SYSTEM: "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"
-->
<!ENTITY % XHTML.version  "-//W3C//DTD XHTML Basic 1.0//EN" >

<!-- Use this URI to identify the default namespace:

         "http://www.w3.org/1999/xhtml"

     See the Qualified Names module for information
     on the use of namespace prefixes in the DTD.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % XHTML.prefix  "" >

<!-- Reserved for use with the XLink namespace:
-->
<!ENTITY % XLINK.xmlns "" >
<!ENTITY % XLINK.xmlns.attrib "" >

<!-- For example, if you are using XHTML Basic 1.0 directly, use
     the FPI in the DOCTYPE declaration, with the xmlns attribute
     on the document element to identify the default namespace:

         <?xml version="1.0"?>
         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
             "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd" >
         <html xmlns="http://www.w3.org/1999/xhtml"
               xml:lang="en" >
         ...
         </html>
-->

<!-- reserved for future use with document profiles -->
<!ENTITY % XHTML.profile  "" >

<!-- Bidirectional Text features
     This feature-test entity is used to declare elements
     and attributes used for bidirectional text support.
-->
<!ENTITY % XHTML.bidi  "IGNORE" >

<?doc type="doctype" role="title" { XHTML Basic 1.0 } ?>

<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!ENTITY % xhtml-events.module   "IGNORE" >
<!ENTITY % xhtml-bdo.module      "%XHTML.bidi;" >

<!ENTITY % xhtml-model.mod
     PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN"
            "xhtml-basic10-model-1.mod" >

<!ENTITY % xhtml-framework.mod
     PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
            "xhtml-framework-1.mod" >
%xhtml-framework.mod;

<!ENTITY % pre.content
     "( #PCDATA
      | %InlStruct.class;
      %InlPhras.class;
      %Anchor.class;
      %Inline.extra; )*"
>

<!ENTITY % xhtml-text.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
            "xhtml-text-1.mod" >
%xhtml-text.mod;

<!ENTITY % xhtml-hypertext.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
            "xhtml-hypertext-1.mod" >
%xhtml-hypertext.mod;

<!ENTITY % xhtml-list.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
            "xhtml-list-1.mod" >
%xhtml-list.mod;

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Image Module  ............................................... -->
<!ENTITY % xhtml-image.module "INCLUDE" >
<![%xhtml-image.module;[
<!ENTITY % xhtml-image.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
            "xhtml-image-1.mod" >
%xhtml-image.mod;]]>

<!-- Tables Module ............................................... -->
<!ENTITY % xhtml-table.module "INCLUDE" >
<![%xhtml-table.module;[
<!ENTITY % xhtml-table.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Basic Tables 1.0//EN"
            "xhtml-basic-table-1.mod" >
%xhtml-table.mod;]]>

<!-- Forms Module  ............................................... -->
<!ENTITY % xhtml-form.module "INCLUDE" >
<![%xhtml-form.module;[
<!ENTITY % xhtml-form.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Basic Forms 1.0//EN"
            "xhtml-basic-form-1.mod" >
%xhtml-form.mod;]]>

<!-- Link Element Module  ........................................ -->
<!ENTITY % xhtml-link.module "INCLUDE" >
<![%xhtml-link.module;[
<!ENTITY % xhtml-link.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
            "xhtml-link-1.mod" >
%xhtml-link.mod;]]>

<!-- Document Metainformation Module  ............................ -->
<!ENTITY % xhtml-meta.module "INCLUDE" >
<![%xhtml-meta.module;[
<!ENTITY % xhtml-meta.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
            "xhtml-meta-1.mod" >
%xhtml-meta.mod;]]>

<!-- Base Element Module  ........................................ -->
<!ENTITY % xhtml-base.module "INCLUDE" >
<![%xhtml-base.module;[
<!ENTITY % xhtml-base.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
            "xhtml-base-1.mod" >
%xhtml-base.mod;]]>

<!-- Param Element Module  ....................................... -->
<!ENTITY % xhtml-param.module "INCLUDE" >
<![%xhtml-param.module;[
<!ENTITY % xhtml-param.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
            "xhtml-param-1.mod" >
%xhtml-param.mod;]]>

<!-- Embedded Object Module  ..................................... -->
<!ENTITY % xhtml-object.module "INCLUDE" >
<![%xhtml-object.module;[
<!ENTITY % xhtml-object.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
            "xhtml-object-1.mod" >
%xhtml-object.mod;]]>

<!ENTITY % xhtml-struct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
            "xhtml-struct-1.mod" >
%xhtml-struct.mod;

<!-- end of XHTML Basic 1.0 DTD  ........................................... -->

B.3. XHTML Basic Customizations

Un tipo di documento della famiglia XHTML (come XHTML Basic) deve definire il modello del contenuto che usa. Questo viene fatto attraverso un diverso modulo per il modello del contenuto istanziato da XHTML Modular Framework. Il modulo per il modello di contenuto e XHTML Basic Driver (sopra) lavorano insieme per personalizzare le implementazioni del modulo rispetto alle specifiche del tipo di documento. Il modulo per il modello del contenuto per XHTML Basic è descritto sotto:

<!-- ....................................................................... -->
<!-- XHTML Basic 1.0 Document Model Module  .................................... -->
<!-- file: xhtml-basic10-model-1.mod

     This is XHTML Basic, a proper subset of XHTML.
     Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-basic10-model-1.mod,v 2.8 2000/11/03 14:28:25 mimasa Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-basic/xhtml-basic10-model-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- XHTML Basic Document Model

     This module describes the groupings of elements that make up
     common content models for XHTML elements.
-->

<!-- Optional Elements in head  .............. -->

<!ENTITY % HeadOpts.mix
     "( %meta.qname; | %link.qname; | %object.qname; )*" >

<!-- Miscellaneous Elements  ................. -->

<!ENTITY % Misc.class "" >

<!-- Inline Elements  ........................ -->

<!ENTITY % InlStruct.class "%br.qname; | %span.qname;" >

<!ENTITY % InlPhras.class
     "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;
      | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;
      | %abbr.qname; | %acronym.qname; | %q.qname;" >

<!ENTITY % InlPres.class "" >

<!ENTITY % I18n.class "" >

<!ENTITY % Anchor.class "| %a.qname;" >

<!ENTITY % InlSpecial.class "| %img.qname; | %object.qname;" >

<!ENTITY % InlForm.class
     "| %input.qname; | %select.qname; | %textarea.qname;
      | %label.qname;"
>

<!ENTITY % Inline.extra "" >

<!ENTITY % Inline.class
     "%InlStruct.class;
      %InlPhras.class;
      %Anchor.class;
      %InlSpecial.class;
      %InlForm.class;
      %Inline.extra;"
>

<!ENTITY % InlNoAnchor.class
     "%InlStruct.class;
      %InlPhras.class;
      %InlSpecial.class;
      %InlForm.class;
      %Inline.extra;"
>

<!ENTITY % InlNoAnchor.mix
     "%InlNoAnchor.class;
      %Misc.class;"
>

<!ENTITY % Inline.mix
     "%Inline.class;
      %Misc.class;"
>

<!-- Block Elements  ......................... -->

<!ENTITY % Heading.class
     "%h1.qname; | %h2.qname; | %h3.qname;
      | %h4.qname; | %h5.qname; | %h6.qname;"
>
<!ENTITY % List.class  "%ul.qname; | %ol.qname; | %dl.qname;" >

<!ENTITY % Table.class "| %table.qname;" >

<!ENTITY % Form.class  "| %form.qname;" >

<!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" >

<!ENTITY % BlkPhras.class
     "| %pre.qname; | %blockquote.qname; | %address.qname;"
>

<!ENTITY % BlkPres.class "" >

<!ENTITY % BlkSpecial.class
     "%Table.class;
      %Form.class;"
>

<!ENTITY % Block.extra "" >

<!ENTITY % Block.class
     "%BlkStruct.class;
      %BlkPhras.class;
      %BlkSpecial.class;
      %Block.extra;"
>

<!ENTITY % Block.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      %Misc.class;"
>

<!-- All Content Elements  ................... -->

<!-- declares all content except tables
-->
<!ENTITY % FlowNoTable.mix
     "%Heading.class;
      | %List.class;
      | %BlkStruct.class;
      %BlkPhras.class;
      %Form.class;
      %Block.extra;
      | %Inline.class;
      %Misc.class;"
>

<!ENTITY % Flow.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      | %Inline.class;
      %Misc.class;"
>

<!-- end of xhtml-basic10-model-1.mod -->