W3C

Associant Fulles d'Estil amb documents XML Versió 1.0

Recomanació del W3C de 29 de Juny de 1999

Aquesta versió:
http://www.w3.org/1999/06/REC-xml-stylesheet-19990629
Última versió:
http://www.w3.org/TR/xml-stylesheet
Versió anterior:
http://www.w3.org/TR/1999/xml-stylesheet-19990428
Editor:
James Clark <jjc@jclark.com>

Copyright © 1999 W3C (MIT, INRIA, Keio ), Tots els drets reservats. Són aplicables les normes del W3C sobre responsabilitat, marca enregistrada, ús de documents i llicència de software.

Nota de Traducció

Aquesta versió:
Aquest document es trobarà en estat d'esborrany durant un període indefinit de temps dedicat a efectuar les correccions oportunes. Aquesta traducció es va concloure el 6 de juliol de 2003. (Els possibles errors presents en aquest document, deguts a la traducció, són de la responsabilitat del traductor i no de cap manera per part del W3C)
URL permanent d'aquest document:
http://www.minid.net/utilidades/w3c/xmlcss/
En cas d'errors
Per a qualsevol comentari sobre la traducció dirigir-se a Diego Martín Lafuente.
Autor de la traducció
Diego Martín Lafuente <diego@minid.net>
www.minid.net.
Versió Normativa
Aquest document es troba localitzat originalment en les pàgines de l'autor de la traducció . L'única versió normativa oficial d'aquest document és la versió original (en anglès): http://www.w3.org/TR/xml-stylesheet

Resum

Aquest document permet associar una fulla d'estils a un document XML mitjançant la inclusió d'una o més instruccions de processament apuntant a una xml-stylesheet en el pròleg del document.

Estatus d'aquest document

Aquest document ha estat revisat per membres del W3C i altres parts interesades i ha estat aprovada pel Director com Recomanació del W3C. Aquest és un document estable i pot usar-se com material de referència o citar-se com referència normativa des d'altres documents. La intenció del W3C al fer una Recomanació és cridar l'atenció sobre l'especificació i promoure la seva difusió generalitzada. Això incrementa la funcionalitat i interoperabilitat de la Web.

La llista d'errors coneguts en aquesta especificació està disponible en: http://www.w3.org/TR/1999/xml-stylesheet-19990629/errata.

Els comentaris sobre aquesta especificació poden enviar-se a: <www-xml-stylesheet-comments@w3.org>. L'arxiu de comentaris públics està disponible en: http://w3.org/Archives/Public/www-xml-stylesheet-comments.

Pot trobar-se una llista de les Recomanacions actuals del W3C i d'altres documents tècnics en: http://www.w3.org/TR.

El Grup de Treball espera que es defineixin, en una especificació futura, mecanismes addicionals per a enllaçar fulles d'estil amb un document XML.

L'ús d'instruccions de processament XML en aquesta especificació no deu prendre's com precedent. El W3C no preveu recomanar l'ús d'instruccions de processament en cap especificació futura. El Fonament explica per què han estat usades en aquesta especificació.

Aquest document ha estat produït com part de la W3C XML Activity.

Taula de continguts

1 La instrucció de processament de xml-stylesheet

Apèndixs

  1. A Referències
  2. B Fonament

1 La instrucció de processament de xml-stylesheet

Les Fulles d'Estil (CSS) poden associar-se amb un document XML [XML10] utilitzant una instrucció de processament que apunt a una xml-stylesheet. Aquesta instrucció de processament segueix el comportament de el <link rel="stylesheet"> d'HTML 4.0 [HTML40].

La instrucció de processament xml-stylesheet és analitzada de la mateixa manera que una "start-tag", amb l'excepció que les entitats distintes a les entitats definides amb anterioritat no deuen ser referides.

La següent gramàtica usa la mateixa notació que la gramàtica en la Recomanació XML [XML10]. Els símbols de la gramàtica que no es defineixen aquí, estan definits en la Recomanació XML.

Instrucció de processament de xml-stylesheet
[1] StyleSheetPI ::= '<?xml-stylesheet' (S PseudoAtt)* S? '?>'
[2] PseudoAtt ::= Name S? '=' S? PseudoAttValue
[3] PseudoAttValue ::= ('"' ([^"<&] | CharRef | PredefEntityRef)* '"'
| "'" ([^'<&] | CharRef | PredefEntityRef)* "'")
- (Char* '?>' Char*)
[4] PredefEntityRef ::= '&amp;' | '&lt;' | '&gt;' | '&quot;' | '&apos;'

A PseudoAttValue, un CharRef o una PredefEntityRef s'interpreten de la mateixa manera que en un valor d'atribut XML normal. El valor real del seudo-atribut és el valor després de cada referència, que és reemplaçat pel caràcter que referència. Aquest reemplaçament no es porta a terme automàticament per un processador.

La instrucció de processament xml-stylesheet només està permesa en el pròleg d'un document XML. La sintaxi XML limita la col·locació d'instruccions de processament en el pròleg, la instrucció de processament xml-stylesheet està permesa en qualsevol part del pròleg que es trobi dintre d'aquestes limitacions.

Nota: Si la instrucció de processament xml-stylesheet apareix en el subconjunt d'una DTD o en una entitat del paràmetre, és possible que no sigui processada per un processador que no validi XML (veure [XML10]).

Els següents seudo-atributs estan definits:

href CDATA #REQUIRED
type CDATA #REQUIRED
title CDATA #IMPLIED
media CDATA #IMPLIED
charset CDATA #IMPLIED
alternate (yes|no) "no"

El significat dels seudo atributs és exactament el mateix que en <link rel="stylesheet"> en HTML 4.0, amb l'excepció del seudo atribut alternate. Si alternate="yes" està especificat, aleshores la instrucció de processament té el significat de <link rel="alternate stylesheet"> en comptes de <link rel="stylesheet">.

NOTA: Degut al fet que el valor de l'atribut href és una referència URI, pot ser un URI relatiu i pot contenir un fragment identificador. En particular la referència URI pot contenir només un identificador del fragment. Tal referència URI és una referència a una part del document que conté la instrucció de processament xml-stylesheet (veure [RFC2396]). La conseqüència és que la instrucció de processament xml-stylesheet permet incrustar les fulles d'estil en el mateix document com la xml-stylesheet que processa la instrucció.

En alguns casos, les fulles d'estil poden enllaçar-se amb un document XML sent externes al document. Per exemple, les primeres versions de HTTP [RFC2068] (secció 19.6.2.4) permiten asociar hojas de estilo con documentos XML por medio de Link en l'encapçalat. Qualsevol enllaç a fulles d'estil que sigui especificat externament al document es considera que ocorre abans dels enllaços especificats per les instruccions de processament xml-stylesheet. Això és igual en HTML 4.0 (veure secció 14.6).

A continuació alguns exemples d'HTML 4.0 amb la corresponent instrucció de processament:

<LINK href="mystyle.css" rel="style sheet" type="text/css">

<?xml-stylesheet href="mystyle.css" type="text/css"?>

<LINK href="mystyle.css" title="Compact" rel="stylesheet"
type="text/css">
<?xml-stylesheet href="mystyle.css" title="Compact" type="text/css"?>

<LINK href="mystyle.css" title="Medium" rel="alternate stylesheet"
type="text/css">
<?xml-stylesheet alternate="yes" href="mystyle.css" title="Medium"
type="text/css"?>

Es permeten múltiples instruccions de processament xml-stylesheet amb exactament la mateixa semàntica com amb LINK REL="stylesheet". Per exemple:

<LINK rel="alternate stylesheet" title="compact" href="small-base.css"
type="text/css">
<LINK rel="alternate stylesheet" title="compact" href="small-extras.css"
type="text/css">
<LINK rel="alternate stylesheet" title="big print" href="bigprint.css"
type="text/css">
<LINK rel="stylesheet" href="common.css" type="text/css">

Seria equivalent a:

<?xml-stylesheet alternate="yes" title="compact" href="small-base.css"
type="text/css"?>
<?xml-stylesheet alternate="yes" title="compact" href="small-extras.css"
type="text/css"?>

<?xml-stylesheet alternate="yes" title="big print" href="bigprint.css"
type="text/css"?>
<?xml-stylesheet href="common.css" type="text/css"?>

A Referències:

HTML40
W3C World Wide Web Consortium. Especificación HTML 4.0. Recomendación del W3C. Vea http://www.w3.org/TR/REC-html40
RFC2068
R. Fielding, J. Gettys, J. Mogul, H. Frystyk Nielsen, and T. Berners-Lee. Hypertext Transfer Protocol -- HTTP/1.1.. IETF RFC 2068. Veure http://www.ietf.org/rfc/rfc2068.txt.
RFC2396
T. Berners-Lee, R. Fielding, and L. Masinter. Uniform Resource Identifiers (URI): Generic Syntax. IETF RFC 2396. Veure http://www.ietf.org/rfc/rfc2396.txt.
XML10
World Wide Web Consortium. Extensible Markup Language (XML) 1.0. Recomendación del W3C. Veure http://www.w3.org/TR/1998/REC-xml-19980210

B Fonament

Havia un requeriment urgent de tenir una especificació per a enllaçar fulles d'estil, que pogués estar acabada a temps per al següent llançament dels principals venedors de navegadors. Només escollint un mecanisme simple, estretament basat en un mecanisme existent ja provat, podria acabar-se l'especificació a temps per a complir amb aquest requeriment.

L'ús d'una instrucció de processament evita contaminar l'estructura principal del document, amb l'aplicació d'informació específica de processament.

El mecanisme escollit per a aquesta versió de l'especificació, no és una limitació en els mecanismes addicionals planejats per a les versions futures. No hi ha cap expectativa que elles vagin a usar instruccions de processament, de fet poden no incloure la informació enllaçada en el codi font del document.