Associant Fulls 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 registrada, ús de documents i llicència de software.
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
al 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 a Recomanació del W3C. Aquest és un document estable i pot usar-se com a material de referència o citar-se com a 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 a: 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 a: 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 s'ha de prendre com un precedent. El W3C no preveu recomanar l'ús d'instruccions de processament en cap especificació futura. El Fonament explica per què s'han usat en aquesta especificació.
Aquest document ha estat produït com a part de la W3C XML Activity.
Taula de continguts
1 La instrucció de processament de xml-stylesheet
Apèndixs
- A Referències
- B Fonament
1 La instrucció de processament de xml-stylesheet
Els Fulls d'Estil (CSS) poden associar-se amb un document XML [XML10] utilitzant una instrucció de processament que apunti a una xml-stylesheet
. Aquesta instrucció de processament segueix el comportament del <link rel="stylesheet">
de l'HTML 4.0 [HTML40].
La instrucció de processament xml-stylesheet
és analitzada de la mateixa manera que una "start-tag", amb la excepció que les entitats diferents a les entitats definides amb anterioritat no han de ser referides.
La següent gramàtica usa la mateixa notació que la gramàtica de la Recomanació XML [XML10]. Els símbols de la gramàtica que no es defineixen aquí, estan definits a 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 | ::= | '&' | '<' | '>' | '"' | ''' |
Un PseudoAttValue, un CharRef o una PredefEntityRef s'interpreten de la mateixa manera que un valor d'atribut XML normal. El valor real del pseudo-atribut és el valor després de cada referència, que és reemplaçat pel caràcter que referencia. Aquest reemplaçament no es porta a terme automàticament per un processador.
La instrucció de processament xml-stylesheet
només està permesa al pròleg d'un document XML. La sintaxi XML limita la col·locació d'instruccions de processament al pròleg, la instrucció de processament xml-stylesheet
està permesa en qualsevol part del pròleg que es trobi dins d'aquestes limitacions.
Nota: Si la instrucció de processament
xml-stylesheet
apareix al subconjunt d'una DTD o a una entitat del paràmetre, és possible que no sigui processada per un processador que no validi XML (veure [XML10]).
Els següents pseudo-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 pseudo-atributs és exactament el mateix que amb el <link rel="stylesheet">
en HTML 4.0, amb l'excepció del pseudo-atribut alternate
. Si està especificat alternate="yes"
, 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 una URI relativa 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 processamentxml-stylesheet
(veure [RFC2396]). La conseqüència és que la instrucció de processamentxml-stylesheet
permet incrustar els fulls d'estil al mateix document com laxml-stylesheet
que processa la instrucció.
En alguns casos, els fulls 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) permeten associar fulls d'estil amb documents XML mitjançant Link
a l'encapçalat. Qualsevol enllaç a fulls d'estil que sigui especificat externament al document es considera que passa 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
exactament amb 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ó HTML 4.0. Recomanació del W3C. Veure 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
Hi havia urgencia de tenir una especificació per a enllaçar fulls d'estil, que pogués estar acabada a temps pel següent llenç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ó dels mecanismes addicionals planejats per a les versions futures. No hi ha cap expectativa que s'usin instruccions de processament, de fet poden no incloure la informació enllaçada al codi font del document.