XHTML™ 1.0: El Llenguatge d'Etiquetat Hipertextual Extensible
Una Reformulació d'HTML 4.0 en XML 1.0
Recomanació del W3C amb data 26 de Gener de 2000
- L'única versió normativa oficial d'aquest document és la versió original (en anglès):
- http://www.w3.org/TR/2000/REC-xhtml1-20000126
- Versió anterior (en anglès)::
- http://www.w3.org/TR/1999/PR-xhtml1-19991210
- Última versió (en anglès):
- http://www.w3.org/TR/xhtml1
(Versió Postscript, Versió PDF, Arxiu ZIP, o Arxiu TAR GZIP) - Autores:
- Ver los agradecimientos.
- Traductor:
- Diego Martín Lafuente
www.minid.net
Resum
Aquesta especificació defineix XHTML 1.0, una reformulació d'HTML 4.0 com aplicació XML 1.0, i tres definicions de tipus de documents (DTD) corresponents a les usades en HTML 4.0. El significat dels elements i els seus atributs es troben en la Recomanació del W3C per a HTML 4.0 i conformen la base per a una futura extensió de XHTML. La compatibilitat amb aplicacions d'usuari HTML existents és possible seguint un petit conjunt de regles.
Estat d'aquest document
Aquesta secció descriu l'estat d'aquest document en el moment de la seva publicació. Altres documents poden deixar-lo obsolet. L'última versió d'aquesta sèrie de documents es troba en la W3C.
Aquest document ha estat revisat pels membres del W3C i altres parts interesades i ha estat avalat pel director com una Recomanació del W3C. És un document estable i pot ser citat com material de referència o referència normativa en un altre document. L'objectiu del W3C al fer la Recomanació és cridar l'atenció sobre l'especificació i promoure la seva màxima difusió. Això potencia la funcionalitat i interoperabilitat en la Web
Aquest document ha estat produït com part de l'Activitat HTML del W3C. Les metes del Grup de Treball d'HTML (d'accés exclusiu als seus membres) se discuten en la carta del Grupo de Trabajo de HTML (d'accés exclusiu als seus membres).
Una llista actualitzada de les recomanacions del W3C i altres documents tècnics poden trobés en http://www.w3.org/TR.
La discussió pública sobre característiques de l'HTML té lloc en la llista de correu www-html@w3.org (també disponible està disponible una recopilació).
Si us plau, notifiquin els errors que trobin en aquest document a www-html-editor@w3.org.
Una llista dels errors d'aquesta especificació és pot trobar a http://www.w3.org/2000/01/REC-xhtml1-20000126-errata (en anglès).
Continguts
- 1. ¿Què és XHTML?
- 2. Definicions
- 2.1 Terminologia
- 2.2 Conceptes Generals
- 3. Definició Normativa de XHTML 1.0
- 4. Diferències amb HTML 4.0
- 5. Compatibilitat
- 6. Futures Línies d'Actuació
- Apèndix A. DTD
- Apèndix B. Incompatibilitats entre elements
- Apèndix C. Directrius de compatibilitat amb HTML
- Apèndix D. Agraïments
- Apèndix E. Referències
1. ¿Què és XHTML?
XHTML és una família de mòduls i tipus de documents que reprodueix, engloba i estén HTML 4.0 [HTML]. Els tipus de documents de la família XHTML estan basats en XML, i dissenyats fonamentalment per a treballar en conjunt amb aplicacions d'usuari basats en XML. Els detalls d'aquesta família i la seva evolució es discuteixen en més profunditat en la secció de Futures Directrius.
XHTML 1.0 (aquesta especificació) és el primer tipus de document de la família XHTML. És una reformulació de les tres definicions de tipus de document HTML 4.0 com aplicacions de XML 1.0 [XML]. La seva finalitat és ser usat com llenguatge de continguts que és alhora a mesura que a XML i, si se segueixen algunes senzilles directrius, funciona en aplicacions d'usuari conformes amb HTML 4.0. Els enginyers informàtics que realitzin migracions d'aplicacions cap a XHTML 1.0 apreciaran les següents millores:
- Els documents XHTML són conformes a XML. Com a tals, són fàcilment visualitzats, editats i validats amb eines XML estàndard.
- Els documents XHTML poden escriure's perquè funcionin igual o millor que ho feien abans tant en les aplicacions d'usuari conformes a HTML 4.0 com en els noves aplicacions conformes a XHTML 1.0.
- Els documents XHTML poden usar aplicacions (e.g. scripts y applets) que es basin sigui en el Model de l'Objecte Document d'HTML o XML[DOM].
- A mesura que la família XHTML evolucioni, els documents conformes a XHTML 1.0 estaran més preparats per a interactuar dintre d'i entre distints entorns XHTML.
La família XHTML és el següent pas en l'evolució d'Internet. AL realitzar una migració cap a XHTML, els enginyers informàtics de continguts web entren en el món de XML amb tots els beneficis que s'esperen d'ell alhora que s'asseguren la compatibilitat amb aplicacions d'usuari passades i futures.
1.1 ¿Què és HTML 4.0?
HTML 4.0 [HTML] és una aplicació SGML (Llenguatge d'Etiquetat Generalitzat Estàndard) conformi a l'estàndard internacional ISO 8879, i està àmpliament considerat com el llenguatge publicació estàndard de la World Wide Web.
SGML és un llenguatge per a la descripció de llenguatges d'etiquetat, particularment aquells usats en l'intercanvi electrònic, maneig i publicació de documents. HTML és un exemple d'un llenguatge definit en SGML.
SGML és utilitzat des de meitat dels 80 i ha romàs bastant estable. Gran part de la seva estabilitat la hi deu al fet que el llenguatge és ara flexible i ric en possibilitats. Aquesta flexibilitat té no obstant això el seu cost, el nivell de complexitat que ha inhibit el seu ús en diverss àmbits com la World Wide Web.
HTML, tal com va ser concebut, era un llenguatge per a l'intercanvi de documents científics i tècnics adaptat per al seu ús per no especialistes en tractament de documents HTML va resoldre el problema de la complexitat de SGML servint-se d'un reduït conjunt d'etiquetes estructurals i semàntiques apropiades per a la realització de documents relativament simples. A més de simplificar l'estructura dels documents, HTML suportava el hipertext. Les possibilitats d'usar elements multimèdia van ser afegides amb posterioritat .
En un curt període de temps, HTML es va fer molt popular i ràpidament va superar els propòsits per als quals havia estat creat. Des del començament d'HTML, ha hagut una constant invenció de nous elements per a ser usats dintre d'HTML (com estàndard) i per a adaptar HTML a mercats verticals, altament especialitzats. Aquesta plétora de nous elements ha dut a problemes de compatibilitat dels documents en les distintes plataformes.
Donada la creixent heterogeneïtat de programes i plataformes, està clar que la idoneïtat de l'HTML 4.0 "clàssic" per a ser utilizats en aquestes plataformes és més que limitat.
1.2 ¿Qué es XML?
XML™ són les sigles de Llenguatge d'Etiquetat Extensible, creant-se la paraula com acrònim de l'expressió anglesa "eXtensible Markup Language" [XML].
XML va ser concebut com un mitjà per a recobrar la potència i flexibilitat de SGML sense que adquirís la seva gran complexitat. A pesar de ser una forma restringida de SGML, XML conserva gairebé tota la potència i riquesa de les característiques de SGML.
Encara mantenint aquestes característiques, XML elimina les més complexes característiques de SGML que feien la creació i el disseny dels programes d'una forma més difícil i costosa.
1.3 ¿Per què és necessari XHTML?
Els beneficis de realitzar una migració cap a XHTML 1.0 s'han descrit més amunt. Alguns d'aquests beneficis generals són:
- Els enginyers informàtics que realitzen aplicacions d'usuari i documents descobreixen constantment noves formes d'expressar les seves idees usant noves etiquetes. En XML, és relativament fàcil afegir nous elements així com atributs addicionals a dites elements o als ja existents. La família XHTML està concebuda per a acomodar aquestes extensions a través de mòduls XHTML i tècniques per a desenvolupar nous mòduls conformes a XHTML (tal i com es descriurà en la futura especificació sobre Modularizatció XHTML). Aquests mòduls permetran la combinació de les característiques existents amb les noves al crear continguts per a la web així com al desenvolupar noves aplicacions d'usuari.
- Constantment es desenvolupen noves formes d'accedir a Internet. Algunes estimacions indiquen que l'any 2002, un 75% de les peticions de documents que es visualitzin en Internet es realitzaran des d'aquestes plataformes alternatives. La família XHTML està concebuda tenint en ment la interoperabilidad amb aplicacions d'usuari generals. A través d'un nou mecanisme d'especificació de documents i aplicacions d'usuaris, els servidors, proxies, i aplicacions d'usuari finals podran realitzar una millor transformació del contingut. Com objectiu final, serà possible desenvolupar contingut a mesura que a XHTML que sigui utilitzable per qualsevol aplicació d'usuari conforme a XHTML.
2. Definicions
2.1 Terminologia
Els següents termes s'utilitzen en aquesta especificació. Aquests termes estenen les definicions de [RFC2119] basant-se en definicions similars que apareixen en ISO/IEC 9945-1:1990 [POSIX.1]:
- Definit per l'aplicació
- Un valor o comportament es considera definit per l'aplicació quan aquesta última és l'encarregada de definir [i documentar] els requisits corresponents per a la correcta construcció del document.
- Pot
- Pel que fa a les aplicacions, la paraula "pot" deu entendre's com introductòria a una característica opcional que no és obligatòria per a fer a mesura que el document a aquesta especificació però que pot indicar-se. Pel que fa als Requisits de Conformitat per a Documents, la paraula "pot" significa que la característica opcional que introdueix no deu utilitzar-se. El terme "opcional" té la mateixa definició que "pot".
- Deu
- En aquesta especificació la paraula "deu" denota un requisit obligatori ja sigui de l'aplicació o dels Documents XHTML Estrictament Conformes amb l'especificació, depenent del context. El terme "deurà" té el mateix sentit que "deu".
- Reservat
- Denota un valor o comportament que no està especificat i que el seu uso tampoc està permès en Documents Conformes ni deu ser acceptat per Aplicacions d'Usuari Conformes.
- Deuria
- Pel que fa a les aplicacions, la paraula "deuria" ha d'interpretar-se com una recomanació per a l'aplicació, però no com un requisit. Pel que fa als documents, aquest terme ha d'entendre's com una pràctica de programació desitjable en general i un requisit per a Documents XHTML Estrictament Conformes en particular.
- Admès
- Alguns recursos recollits en aquesta especificació són opcionals. Si un d'ells és admès per alguna aplicació, es comporta com s'indica en aquesta especificació.
- No determinat
- Quan un valor o comportament no queden determinats, l'especificació no defineix requisits de portabilitat per a un recurs en una aplicació ni tan sols quan degui analitzar un document que usi dit recurs. Un document tal que requereixi un comportament específic en aquesta situació en comptes de tolerar qualsevol comportament a l'usar el recurs, no serà un Document XHTML Estrictament Conforme.
2.2 Conceptes Generals
- Atribut
- Un atribut és un paràmetre d'un element declarat en la DTD. El tipus d'un atribut i el seu rang de valors, incloent la possibilitat d'un valor per defecte, es defineixen en la DTD.
- DTD
- Una DTD, o definició del tipus de document, és una col·lecció de declaracions XML que, com col·lecció, defineix l'estructura reglamentària, els elements i atributs que estan disponibles per al seu ús en documents que compleixin amb la DTD.
- Document
- Un document és una cadena de dades que, després de ser combinat amb qualsevol altra cadena a la qual referència, queda estructurat de tal manera que porta informació continguda en elements que s'organitzen tal com està especificat en la corresponent DTD. Per a més informació, veure els Requisits de Conformitat per a Documents.
- Element
- Un element és una unitat estructural d'un document que ha estat declarada en la DTD. El model de continguts de l'element està definit en la DTD, i l'explicació addicional pot especificar-se en la descripció comentada de l'element.
- Recursos
- Els components disponibles inclouen elements, atributs i les explicacions associades a dites elements i atributs. Una aplicació que admeti dits components deu facilitar els recursos necessaris per a processar-los.
- Aplicació
- Una aplicació és una sistema que posseeix una col·lecció de recursos i serveis que admet aquesta especificació. Veure l'apartat de Conformitat d'Aplicacions d'Usuari per a més informació.
- Anàlisi
- L'anàlisi és el procés pel qual un document és llegit i la informació en ell continguda es tradueix en el context d'elements que aquesta informació està estructurada.
- Presentació
- La presentació és el procés pel qual la informació continguda en un document es mostra a l'usuari. Això es porta a terme de la forma més apropiada a l'entorn que utilitzi l'usuari (e.g. de forma auditiva, visual, impresa).
- Aplicació d'Usuari
- Una aplicació d'usuari és una aplicació que llegeix i processa documents XHTML. Veure Conformitat d'Aplicacions d'Usuari per a més informació.
- Convalidació
- La convalidació és un procés pel qual els documents són contrastats amb la DTD associada, assegurant-se que l'estructura, l'ús d'elements i l'ús d'atributs són consistents amb les definicions de la DTD.
- Bé format
- Un document es diu "bé format" o "gramaticalment correcte" quan està estructurat d'acord a les regles definides en la Sección 2.1 de la Recomanació de XML 1.0 [XML]. Bàsicament, en aquesta definició implica que els elements, delimitats per les seves etiquetes d'inici i fi, estiguin convenientment niats.
3. Definició Normativa de XHTML 1.0
3.1 Requisits de Conformitat per a Documents
Aquesta versió de XHTML subministra una definició de documents XHTML estrictament conformes que es restringeix a les etiquetes i atributs de l'espai nominal de XHTML. Veure la Secció 3.1.2 per a informació concernent a l'ús de XHTML amb altres espais nominals, per exemple la inclusió de metadades expressats en RDF dintre de documents XHTML.
3.1.1 Documents Estrictament Conformes
Un document XHTML estrictament a mesura que és un document que per a ser processat requereix tan només els recursos descrits com obligatoris en aquesta especificació. Tals documents deuen ajustar-se als següents punts:
- Deuen poder validar-se amb alguna de les tres DTD que es troben en l'Apèndix A.
- L'element arrel del document deu ser
<html>
. - L'element arrel del document deu indicar l'espai nominal XHTML usant l'atribut
xmlns
[XMLNAMES]. L'espai nominal per a XHTML éshttp://www.w3.org/1999/xhtml
- Deu haver una declaració DOCTYPE en el document abans de l'element arrel. L'identificador públic inclòs en la declaració DOCTYPE deu fer referència a alguna de les tres DTD que es troben en l'Apèndix A utilizant (FPI) l'Identificador Formal Públic corresponent. L'identificador del sistema pot ser modificat apropiadament per a reflectir convencions de rang local.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
He aquí un exemple d'un petit document XHTML.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ca-es" lang="ca-es"> <head> <title>Biblioteca Virtual</title> </head> <body> <p>Trasladada a <a href="http://vlib.org/">vlib.org</a>.</p> </body> </html>
Noti's que en aquest exemple, s'inclou la declaració XML. Una declaració XML com la qual es fa dalt no és necessària en tots els documents XML. Encara així, es recomana encaridament als autors de documents XHTML que incloguin declaracions XML en tots els seus documents. Tal declaració és necessària quan la codificació dels caràcters que s'usa en el document no és UTF-8 o UTF-16, els tipus usats per defecte en aquest tipus de documents.
3.1.2 Usant XHTML amb altres espais nominals
L'espai nominal XHTML 1.0 pot utilitzar-se conjuntament a altres espais nominals XML com s'indica en [XMLNAMES], encara que els documents així produïts no seran documents XHTML 1.0 estrictament conformes. Futurs treballs del W3C donaran directrius que especifiquin la conformitat de documents que usin diversos espais nominals.
El següent exemple mostra com XHTML 1.0 podria usar-se en conjunció amb la Recomanació MathML.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ca-es" lang="ca-es"> <head> <title>Un exemple matemàtic</title> </head> <body> <p>El que ve a continuació és etiquetat MathML:</p> <math xmlns="http://www.w3.org/1998/Math/MathML"> <apply> <log/> <logbase> <cn> 3 </cn> </logbase> <ci> x </ci> </apply> </math> </body> </html>
El següent exemple mostra com l'etiquetat XHTML 1.0 podria usar-se en altre espai nominal XML:
<?xml version="1.0" encoding="UTF-8"?> <!-- inicialment, l'espai nominal per defecte és "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="ca-es" lang="ca-es"> <title>La història continua</title> <isbn:number>1568491379</isbn:number> <notes> <!-- fem HTML l'espai nominal per efecte per a un comentari hipertextual --> <p xmlns='http://www.w3.org/1999/xhtml' xml:lang="ca-es" lang="ca-es"> També està disponible <a href="http://www.w3.org/"> en la xarxa</a>. </p> </notes> </book>
3.2 Requisits de Conformitat per a Aplicacions d'Usuari
Una aplicació d'usuari deu complir tots i cadascun dels següents criteris de conformitat:
- Per a ser consistent amb la Recomanació XML 1.0 [XML], l'aplicació d'usuari deu analitzar i avaluar si un document es "gramaticalment correcte". Si l'aplicació d'usuari es diu convalidante deu contrastar els documents amb les DTD d'acord amb [XML].
- Quan una aplicació d'usuari diu suportar recursos definits en aquesta especificació o requerits per aquesta especificació a través de referència normativa deu fer-lo de manera consistent amb la definició del recurs.
- Quan una aplicació d'usuari processa un document XHTML com XML genèric, tan només deuria reconèixer atributs del tipus
ID
(e.g. el atributoid
l'atribut aneu de la majoria dels elements) com identificadors de fragments. - Si una aplicació d'usuari troba un element que no reconeix, deu presentar el contingut de dita element.
- Si una aplicació d'usuari troba un atribut que no reconeix, deu ignorar completament la directriu que marqui l'atribut (i.e., l'atribut i el seu valor).
- Si una aplicació d'usuari troba un valor d'un atribut que no reconeix, deu usar en el seu lloc el valor per defecte de l'atribut.
- Si troba una referència a una entitat (distinta a les entitats predefinies) per a la qual l'aplicació d'usuari no ha processat cap declaració (el que podria succeir si la declaració es troba en un subconjunt extern al que l'aplicació d'usuari no ha accedit), l'entitat deu presentar-se com els caràcters (començant amb & i acabant amb punt i coma) que componen la referència a l'entitat.
- Quan es presenti el contingut, les aplicacions d'usuari que trobin caràcters o referències a entitats de tipus caràcter que reconeguin però que no siguin capaços de mostrar, deurien mostrar el document de tal manera que l'usuari apreciï clarament que no ha estat possible una presentació correcta.
- Els següents caràcters es defineixen en [XML] com caràcters d'espais en blanc:
- Espa ( )
- Tabulació (	)
- Retorna de carro (
)
- Avanç de línea (
)
El processador XML normalitza diversos sistemes de codis de fi de línia en un únic caràcter d'avanç de línia que es passa a l'aplicació. L'aplicació d'usuari XHTML deu, a més, tractar els següents caràcters com espais en blanc:
- Salt de pàgina ()
- Espai d'amplària nula (​)
En elements on l'atribut 'xml:space' tingui el valor 'preserve', l'aplicació d'usuari deu conservar intactes tots els espais en blanc (amb excepció dels caràcters d'espai en blanc d'encapçalament i terminació, que deurien ser suprimits). En altres casos un espai en blanc es manipula d'acord amb les següents regles:
- Tots els espais en blanc que envolten a un element en bloc deurien ser suprimits.
- Els comentaris se suprimeixen per complet i no afecten a la manipulació d'espais en blanc. Un caràcter d'espai en blanc a banda i banda d'un comentari es tracta com dos espais en blanc.
- Els espais en blanc d'encapçalament i terminació dintre d'un element en bloc deuen suprimir-se.
- Els caràcters d'avanç de línia dintre d'un element en bloc deuen convertir-se en un espai (excepte quan l'atribut 'xml:space' tingui el valor 'preservi').
- Una seqüència d'espais en blanc deu reduir-se a un sol caràcter d'espai en blanc (excepte quan l'atribut 'xml:space' tingui el valor 'preserve').
- Pel que fa a la presentació, l'aplicació d'usuari deuria presentar el contingut de manera adequada a l'idioma en el qual el contingut està escrit. En idiomes la base dels quals d'escriptura sigui de caràcters llatins, el caràcter ASCII d'espai s'usa normalment bé com límit gramatical entre paraules bé com espai tipogràfic en blanc; en idiomes que la seva basi estigui relacionada amb Nagari (e.g., Sanskrit, Thai, etc.), els límits gramaticals poden codificar-se amb el caràcter de 'espai' ZW, però no seran normalment representats per caràcters tipogràfics d'espai en blanc al ser mostrats; els idiomes que usin una base d'escriptura arábic poden codificar el caràcter tipogràfic espai en blanc usant un caràcter d'espai en blanc, però també poden usar el caràcter de 'espai' ZW per a delimitar límits gramaticals 'interns' (el que semblen paraules en àrab per a un lector anglès freqüentment engloba diverses paraules, e.g. 'kitAbuhum' = 'kitAbu-hum' = 'llibre d'ells' == el seu llibre); i idiomes provinents del xinès normalment no codifiquen tals delimitadors ni usen el caràcter tipogràfic d'espai en blanc d'aquesta manera.
L'espai en blanc en els valors d'atributs es processa d'acord amb [XML].
4. Diferències amb HTML 4.0
Diferències amb HTML 4.0 A causa del fet que XHTML és una aplicació XML, certes pràctiques que eren perfectament vàlides en HTML 4.0 [HTML], basat en SGML, deuen canviar.
4.1 Els documents deuen ser "gramaticalment correctes"
La gramàtica dels documents és un nou concepte introduït per [XML]. Essencialment significa que tots els elements bé deuen tenir etiquetes de tancament bé deuen ser escrits de manera especial (tal com es descriu baix), i que tots els elements deuen estar niats.
Encara que el solapament d'elements no està permès en SGML, era tolerat en els navegadors existents.
CORRECTE: elements niats
<p>he aquí un <em>paràgraf</em> emfatitzat.</p>
INCORRECTE: elements solapades
<p>he aquí un <em>paràgraf</p> emfatitzat</em>
4.2 Els noms d'elements i atributs deuen escriure's en minúscula
Els documents XHTML deuen usar minúscules per als noms de tots els elements i atributs HTML. Aquesta diferència és necessària perquè XML és sensible a minúscules i majúscules e.g. <li> i <LI> són etiquetes diferents.
4.3 Els elements no buits requereixen etiquetes de tancament
Amb HTML 4.0, basat en SGML, en alguns elements podia ometre's l'etiqueta de tancament, de tal manera que l'obertura dels elements que els succeïen implicava dit tancament. Aquesta omissió no està permesa en XHTML, basat en XML. Tots els elements que no estiguin declarats en la DTD com EMPTY
deuen tenir una etiqueta de tancament.
CORRECTE: elements tancats
<p>he aquí un paràgraf.</p><p>aquí hi ha altre paràgraf.</p>
INCORRECTE: elements no tancats
<p>he aquí un paràgraf.<p>aquí un paràgraf.
4.4 Els valors dels atributs deuen anar entre cometes.
Tots els valors d'atributs deuen anar entre cometes, fins i tot aquells que són numèrics.
CORRECTE: valors d'atribut entre cometes
<table rows="3">
INCORRECTE: valors d'atribut no estan entre cometes
<table rows=3>
4.5 Minimització d'atributs
XML no suporta la minimització d'atributs. Els parells atribut-valor deuen escriure's en tota la seva extensió. Els noms d'atributs com compact
i checked
no poden apareixen en elements sense que sigui especificat el seu valor.
CORRECTE: atributs no minimitzats
<dl compact="compact">
INCORRECTE: atributs minimitzats
<dl compact>
4.6 Elements buits
Els elements buits deuen bé tenir una etiqueta de tancament bé acabar la seva etiqueta d'obertura amb />
. Per exemple, <br/>
o <hr></hr>
. Veure les directrius de compatibilitat amb HTML per a recaptar informació sobre com assegurar la compatibilitat retroactiva amb aplicacions d'usuari HTML 4.0.
CORRECTE: etiquetes buides tancades
<br/><hr/>
INCORRECTE: etiquetes buides no tancades
<br><hr>
4.7 Manipulació d'espais en blanc dintre dels valors d'atributs
En els valors d'atributs, les aplicacions d'usuari eliminaran els espais en blanc d'encapçalament i terminació i substituiran les seqüències d'un o més espais en blanc (incloent els salts de línia) per un únic espai en blanc entre paraules (un caràcter ASCII d'espai en blanc per a escriptures occidentals). Veure la sección 3.3.3 de [XML].
4.8 Elements script i style
En XHTML, els elements script i style es declaren com elements amb contingut #PCDATA
. Com resultat, <
i &
seran tractats com començaments d'etiquetat, i entitats com <
i &
seran reconegudes com referències a les entitats <
i &
respectivament pel processador XML. Englobar el contingut de l'element script o style dintre d'una secció marcada com CDATA
evita el processament d'aquestes entitats.
<script> <![CDATA[ ... contingut no processat del script ... ]]> </script>
Les seccions CDATA
són reconegudes pel processador XML i apareixen com nodes en el Model de l'Objecte Document (DOM), veure la secció 1.3 de la Recomanació DOM Level 1 [DOM].
Una alternativa és usar documents externs d'estil i escriptura de codi.
4.9 Les exclusions de SGML
SGML dóna a l'escriptor d'una DTD la possibilitat d'impedir que elements específics estiguin niats en altres elements. Tals prohibicions (denominades "exclusions") no són possibles de realitzar en XML.
Per exemple, la DTD d'HTML 4.0 Strict prohibe l'acció de niar d'un element 'a
' dintre d'altre element 'a
' en qualsevol profunditat de niament. No és possible dictar tal prohibició en XML. Encara que talis prohibicions no puguin definir-se en la DTD, alguns elements no deurien niar-se. Un resum de dites elements i els elements que no deurien niar-se en ells es troba en la normativa Apèndix B.
4.10 Elements amb atributs id i name
HTML 4.0 definia l'atribut name
per als elements a
, applet
, frame
, iframe
, img
, i map
. HTML 4.0 també introduïa l'atribut id
. Ambos atributos están diseñados para ser usados como identificadores de fragmentos de información.
En XML, els identificadors de fragments són del tipus ID
, i tan només pot haver un únic atribut de tipus ID
per element. Per tant, en XHTML 1.0 l'atribut id
. A fi d'assegurar que els documents XHTML 1.0 siguin documents XML bé estructurats, els documents XHTML 1.0 DEUEN usar l'atribut id
per a definir un identificador de fragment, fins i tot en elements que històricament també hagin usat l'atribut name
. Veure les directrius de compatibilitat amb HTML per a recaptar informació sobre com assegurar la compatibilitat retroactiva dels ancoratges quan se serveixin documents XHTML el tipus dels quals de suport d'internet (MIME) sigui text/html
.
Notar que en XHTML 1.0, l'atribut name
de dites elements està formalment prohibit i desapareixerà en la següent versió de XHTML.
5. Compatibilitat
Encara que no hi ha cap obligació que els documents XHTML 1.0 siguin compatibles amb les aplicacions d'usuari existents, en la pràctica és alguna cosa fàcil d'aconseguir. Les directrius per a crear documents compatibles poden trobar-se en l'Apèndix C.
5.1 Especificació del Tipus de Suport d'Internet
En el moment de la publicació d'aquesta recomanació, l'etiquetat MIME general recomanat per a aplicacions basades en XML encara no ha estat decidit.
No obstant això, els documents XHTML que segueixin la directrius indicades en l'Apèndix C, "Directrius de compatibilitat amb HTML" poden ser etiquetats amb el tipus de suport d'internet "text/html", atès que són compatibles amb la majoria dels navegadors HTML. Aquest document no fa cap recomanació sobre l'etiquetat MIME d'altres documents XHTML.
6. Futures Línies d'Actuació
XHTML 1.0 asseu la base per a una família de tipus de documents que estendran i fitaran XHTML a fi de suportar un ampli rang de nous dispositius i aplicacions, definint mòduls que especifiquin un mecanisme per a combinar dits mòduls. Dita mecanisme permetrà l'extensió i l'acció de fitar XHTML 1.0 d'una manera uniforme a través de la definició de nous mòduls.
6.1 Modul·laritzar HTML
Alhora que l'ús de XHTML vagi passant de les aplicacions d'usuari de l'ordinador de sobretaula tradicional a altres plataformes, està clar que no tots els elements de XHTML seran necessaris en totes les plataformes. Per exemple un dispositiu de mà o un telèfon mòbil poden suportar només un subconjunto elements de XHTML.
El procés de modul·larització trenca XHTML en una sèrie de petits conjunts d'elements. Dites elements poden ser combinats per a complir les necessitats de diferents comunitats.
Aquests mòduls es definiran en un document posterior de la W3C.
6.2 Subconjunts i Extensibilitat
La modul·larització comporta diverses avantatges:
- Proveir un mecanisme formal per a fitar XHTML.
- Proveir un mecanisme formal per a estendre XHTML.
- Simplificar la transformació entre tipus de document.
- Promoure la reutilització de mòduls en nous tipus de document.
6.3 Perfils de Document
Un perfil de document especifica la sintáxis i la semàntica d'un conjunt de documents. La conformitat amb un perfil de document proveeix una base per a la garantia de interoperabilitat. El perfil de document especifica els recursos necessaris per a processar els documents de dita tipus, e.g. quins formats d'imatge poden usar-se, nivells d'escriptura de codi, suport de fulles d'estil, etc.
Per a dissenyadors de productes, això permet a distints grups la definició del seu propi perfil estàndard.
Per a autors, això permetrà obviar la necessitat d'escriure diferents versions de documents per a diferents clients.
Per a grups especials tals com químics, mèdics o matemàtics això permetrà la construcció d'un perfil especial usant elements HTML estàndard més un grup d'elements específicament dissenyats per a cobrir les necessitats dels especialistes.
Apèndix A. DTD
Aquest apèndix és normatiu.
Aquestes DTD i conjunts d'entitats formen una part normativa d'aquesta especificació. El conjunt complet d'arxius DTD conjuntament amb una declaració XML i el Catàleg Obert SGML s'inclou en l'arxiu .zip disponible per a aquesta especificació.
A.1 Definicions del Tipus de Document
Aquestes DTD s'aproximen a les DTD d'HTML 4.0. Es tracta que quan, en un futur, aquestes DTD es modularitzar, s'empri un mètode de construcció de DTD que es correspongui més clarament amb HTML 4.0.
A.2 Conjunt d'Entitats
Els conjunts d'entitats XHTML predefinides són els mateixos que en HTML 4.0, però han estat modificats per a ser declaracions d'entitats vàlides en XML 1.0. Fixem-nos que l'entitat per al signe de l'Euro (€
o €
o €
) es defineix com una part dels caràcters especials.
Apéndice B. Incompatibilitats entre elements
Aquest apèndix és normatiu.
A continuació es detallen les incompatibilitats en l'acció de niar els elements (veure la secció 4.9). Aquesta prohibició s'aplica a totes les profunditats de anidament, afecta a tots els elements descendents d'aquell per al qual s'especifica la restricció.
a
- No pot contenir altres elements
a
. pre
- No pot contenir els elements
img
,object
,big
,small
,sub
osup
. button
- No pot contenir els elements
input
,select
,textarea
,label
,button
,form
,fieldset
,iframe
oisindex
. label
- No pot contenir altres elements
label
. form
- No pot contenir altres elements
form
.
Apéndice C. Directrius de Compatibilitat amb HTML
Aquest apèndix és informatiu.
Aquest apèndix resumeix les directrius de disseny per a autors que volen que els seus documents XHTML puguin ser presentats en aplicacions d'usuari HTML ja existents.
C.1 Instrucciones de Proceso
Instruccions de Procés. Cal ser conscient que les instruccions de procés s'executen en algunes aplicacions d'usuari. No obstant això, cal notar que quan la declaració XML no s'inclou en un document, aquest només pot usar les codificacions de caràcters per defecte UTF-8 o UTF-16.
C.2 Elements Buits
Incloure un espai en blanc abans de la barra i angle de tancament /
i >
dels elements buits, e.g. <br />
, <hr />
i <img src="karen.jpg" alt="Karen" />
. També, usar la sintaxi minimitzada d'etiquetes per als elements buits, e.g. <br />
, atès que la sintaxi alternativa a <br></br>
permesa per XML dóna resultats no previsibles en molts de les aplicacions d'usuari ja existents.
C.3 Minimització d'Elements i Contingut d'Elements Buits
Donada una instància buida d'un element que el seu modelo de contingut no és EMPTY
(per exemple, un títol o paràgraf buits) no usar la forma minimitzada (e.g. utilitzar <p> </p>
i no <p />
).
C.4 Fulles d'Estil i Arxius de Codi Incrustats
Usar fulles d'estil externes si la fulla en qüestió utilitza els caràcters <
o &
o ]]>
o --
. Usar arxius externs de codi si el codi utilitza els caràcters <
o &
o ]]>
o --
. Notar que els analitzadors XML tenen permès suprimir el contingut dels comentaris. D'aquesta manera, la pràctica comuna fins ara de "amagar" els fragments de codi (script
) i fulles d'estil (style
) entre comentaris, per a fer-los invisibles a antics navegadors, normalment no funcionarà en aplicacions basades en XML.
C.5 Salts de Línia dintre de Valors d'Atributs
Evitar salts de línia i múltiples espais en blanc dintre dels valors dels atributs. Aquests són manipulats de manera no constant per les aplicacions d'usuari.
C.6 Isindex
No incloure més d'un element isindex
en el head
del document. L'element isindex
es tendeix a descartar en favor de l'element input
.
C.7 Els atributs lang
i xml:lang
Usin-se ambdós atributs, lang
i xml:lang
, quan es vulgui especificar l'idioma d'un element. El valor de l'atribut xml:lang
té preferència.
C.8 Identificadors de Fragments
En XML, els URI [RFC2396] que acaben amb identificadors de fragments de la forma "#foo"
no es refereixen a elements amb un atribut name="foo"
; per contra es refereixen a elements amb un atribut del tipus ID
, e.g., l'atribut id
d'HTML 4.0. Molts clients d'HTML actuals no suporten aquest ús d'atributs de tipus ID
, de tal manera que es pot donar valors idèntics a ambdós atributs per a asseguren la màxima compatibilitat futura i retroactiva (e.g., <a id="foo" name="foo">...</a>
).
Més encara, atès que el conjunt de valors permesos per a atributs del tipus ID
és molt menor que els permesos per a atributs del tipus CDATA
, el tipus de l'atribut name
ha estat canviat a NMTOKEN
. Aquest atribut està limitat de tal manera que només pot prendre els mateixos valors que els de tipus ID
o els de la producció Name
de XML 1.0, secció 2.5, producció 5. Desafortunadament aquesta limitació no pot expressar-se en les DTD de XHTML 1.0. Debido a este cambio, debe tenerse cuidado cuando se conviertan documentos HTML ya existentes a XHTML 1.0. Els valors d'aquests atributs deuen ser únics en tot el document, vàlids, i tals que qualsevol referència a aquests identificadors de fragments (tant interna com externa) deuen actualitzar-se durant la conversió.
Finalment, notar que XHTML 1.0 tendeix a rebutjar l'atribut name
dels elements a
, applet
, frame
, iframe
, img
, y map
, i serà eliminat en versions posteriors de XHTML.
C.9 Codificació de caràcters
Per a especificar una codificació de caràcters en el document, usar tant l'especificació de l'atribut de codificació en la declaració XML (e.g. <?xml version="1.0" encoding="EUC-JP"?>
) com una sentència meta http-equiv (e.g. <meta http-equiv="Content-type" content='text/html; charset="EUC-JP"' />
). El valor de l'atribut de codificació de la instrucció de procés XML té preferència.
C.10 Atributs booleans
Algunes aplicacions d'usuari no són capaços d'interpretar atributs booleans quan aquests apareixen en la seva forma estesa (no minimitzada), tal com requereix XML 1.0. Notar que aquest problema no afecta a aplicacions d'usuari conformes a l'especificació HTML 4.0. Els següents atributs es troben afectats: compact
, nowrap
, ismap
, declare
, noshade
, checked
, disabled
, readonly
, multiple
, selected
, noresize
, defer
.
C.11 EL Model de l'Objecte Document i XHTML
La Recomanació de nivell 1 del Model de l'Objecte Document [DOM] defineix interfícies del model de l'objecte document per a XML i HTML 4.0. El model de l'objecte document d'HTML 4.0 especifica que els noms dels elements i atributs HTML es retornen en majúscules. El model de l'objecte document de XML especifica que els noms dels elements i atributs es retornen amb el tipus que s'hagin escrit en el propi document. En XHTML 1.0, els elements i atributs s'escriuen en minúscules. Aquesta diferència aparent pot ser resolta de dues maneres:
- Les aplicacions que accedeixin a documents XHTML servits com tipus de suport Internet
text/html
via el DOM i assegurar-se vaig agafar que els noms dels elements i atributs seran retornats en majúscules per aquestes interfícies. - Les aplicacions que accedeixin a documents XHTML servits com tipus de suport Internet
text/xml
oapplication/xml
poden usar també el DOM XML. Els elements i atributs seran retornats en minúscules. A més, alguns elements XML poden o no aparèixer en l'arbre d'objectes perquè són opcionals en el model de continguts (e.g. l'elementtbody
dintre detable
). Això ocorre perquè en HTML 4.0 a alguns elements se'ls permetia ser minimitzats de tal manera que tant l'etiqueta d'obertura com la de tancament s'ometien (una característica de SGML). En comptes de fer obligatoris aquests elements que no solien usar-se, XHTML ha optat per fer-los opcionals. Les aplicacions necessiten adaptar-se a això.
C.12 Ús del caràcter & en Valors d'Atributs
Quan el valor d'un atribut contingui un caràcter &, deu expressar-se com una referència a l'entitat de tipus caràcter (e.g. "&
"). Per exemple, quan l'atribut href
de l'element a
apunt a un codi CGI que prengui paràmetres, deu expressar-se com http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
en comptes de http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
.
C.13 Fulles d'Estil en Cascada (CSS) i XHTML
La Recomanació de nivell 2 de les Fulles d'Estil en Cascada [CSS2] defineix propietats d'estil que s'apliquen a l'arbre d'anàlisi del document HTML o XML. Les diferències en l'anàlisi produiran diverss resultats visibles o auditius, depenent dels selectors usats. Les següents pistes reduiran aquest efecte en els documents que se serveixin sense modificació com qualsevol d'aquests tipus de suport:
- Les fulles d'estil CSS per a XHTML deurien usar noms d'elements i atributs en minúscules.
- En les taules, l'element tbody serà inferit per l'analitzador d'una aplicació d'usuari HTML, però no per l'analitzador d'una aplicació d'usuari XML. Per tant es deuria afegir sempre explícitament un element tbody si es fa referència a ell en un selector CSS.
- Dintre de l'espai nominal XHTML, s'espera que les aplicacions d'usuari reconeguin l'atribut "id" com un atribut de tipus ID. Per tant, les fulles d'estil deurien ser capaços de continuar usant la sintaxi taquigràfica de selectors inclòs si l'aplicació d'usuari no és capaç de llegir la DTD.
- Dintre de l'espai nominal XHTML, s'espera que les aplicacions d'usuari reconeguin l'atribut "class". Per tant, les fulles d'estil deurien ser capaços de continuar usant la sintaxi taquigràfica de selectors ".".
- CSS defineix diferents regles de conformitat per als documents HTML i XML; tingui's en compte que les regles HTML s'apliquen als documents XHTML subministrats com HTML i les regles XML s'apliquen als documents XHTML subministrats com XML.
Apèndix D. Agraïments
Aquest apèndix és informatiu.
Aquesta especificació ha estat escrita amb la participació dels membres del grup de treball d'HTML del W3C:
- Steven Pemberton, CWI (HTML Working Group Chair) Murray Altheim, Sun Microsystems
Daniel Austin, AskJeeves (CNET: The Computer Network through July 1999)
Frank Boumphrey, HTML Writers Guild
John Burger, Mitre
Andrew W. Donoho, IBM
Sam Dooley, IBM
Klaus Hofrichter, GMD
Philipp Hoschka, W3C
Masayasu Ishikawa, W3C
Warner ten Kate, Philips Electronics
Peter King, Phone.com
Paula Klante, JetForm
Shin'ichi Matsui, Panasonic (W3C visiting engineer through September 1999)
Shane McCarron, Applied Testing and Technology (The Open Group through August 1999)
Ann Navarro, HTML Writers Guild
Zach Nies, Quark
Dave Raggett, W3C/HP (W3C lead for HTML)
Patrick Schmitz, Microsoft
Sebastian Schnitzenbaumer, Stack Overflow
Peter Stark, Phone.com
Chris Wilson, Microsoft
Ted Wugofski, Gateway 2000
Dan Zigmond, WebTV Networks
Apèndix I. Referències
Aquest apèndix és informatiu.
- [CSS2]
- "Cascading Style Sheets, level 2 (CSS2) Specification", B. Bos, H. W. Lie, C. Lilley, I. Jacobs, 12 May 1998.
Disponible en: http://www.w3.org/TR/REC-CSS2 - [DOM]
- "Document Object Model (DOM) Level 1 Specification", Lauren Wood et al., 1 October 1998.
Disponible en: http://www.w3.org/TR/REC-DOM-Level-1 - [HTML]
- "HTML 4.01 Specification", D. Raggett, A. Le Hors, I. Jacobs, 24 August 1999.
Disponible en: http://www.w3.org/TR/1999/PR-html40-19990824 - [POSIX.1]
- "ISO/IEC 9945-1:1990 Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language]", Institute of Electrical and Electronics Engineers, Inc, 1990.
- [RFC2046]
- "RFC2046: Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", N. Freed and N. Borenstein, November 1996.
Disponible en http://www.ietf.org/rfc/rfc2046.txt. Notar que aquest RFC deixa obsolets els RFC1521, RFC1522, y RFC1590. - [RFC2119]
- "RFC2119: Key words for use in RFCs to Indicate Requirement Levels", S. Bradner, March 1997.
Disponible en: http://www.ietf.org/rfc/rfc2119.txt - [RFC2376]
- "RFC2376: XML Media Types", E. Whitehead, M. Murata, July 1998.
Disponible en: http://www.ietf.org/rfc/rfc2376.txt - [RFC2396]
- "RFC2396: Uniform Resource Identifiers (URI): Generic Syntax", T. Berners-Lee, R. Fielding, L. Masinter, August 1998.
Aquest document actualitza els RFC1738 y RFC1808.
Disponible en: http://www.ietf.org/rfc/rfc2396.txt - [XML]
- "Extensible Markup Language (XML) 1.0 Specification", T. Bray, J. Paoli, C. M. Sperberg-McQueen, 10 February 1998.
Disponible en: http://www.w3.org/TR/REC-xml - [XMLNAMES]
- "Namespaces in XML", T. Bray, D. Hollander, A. Layman, 14 January 1999.
Els espais nominals XML proveeixen un mètode simple per a qualificar els noms usats en documents XML associant-los amb espais nominals identificats amb una URI.
Disponible en: http://www.w3.org/TR/REC-xml-names