Cette spécification a été traduite par Karl Dubost, Normandie Web (karl+misc@la-grange.net) dans une démarche volontaire. Toute amélioration est la bienvenue.

La version française de cette traduction est :
http://www.la-grange.net/w3c/xml-stylesheet/

Traducteur : Karl Dubost - <karl+misc@la-grange.net>
La version française peut contenir des erreurs. La version anglaise de cette spécification est l'unique version normative. Cette version a été établie à partir de la Recommandation du 29-juin-1999 disponible à http://www.w3.org/1999/06/REC-xml-stylesheet-19990629
Dernière version : http://www.w3.org/TR/xml-stylesheet

W3C

Associer les feuilles de style avec les documents XML
Version 1.0

Recommandation du W3C 29 juin 1999

Cette version :
http://www.w3.org/1999/06/REC-xml-stylesheet-19990629
Dernière version :
http://www.w3.org/TR/xml-stylesheet
Version précédente :
http://www.w3.org/TR/1999/xml-stylesheet-19990428
Editeur :
James Clark <jjc@jclark.com>

Résumé

Ce document permet à une feuille de style d'être associée avec un document XML par l'introduction d'une ou plusieurs instructions de traitement avec une cible xml-stylesheet dans le prologue du document.

Statut de ce document

Ce document a été examiné par les membres du W3C Members et autres groupes concernés et a été approuvé par le directeur comme une Recommandation du W3C. C'est un document stable et peut être utilisé comme matériel de référence ou cité comme une référence normative dans d'autres documents. Le rôle du W3C dans l'élaboration de la recommandation est d'attirer l'attention sur cette spécification et de promouvoir son large déploiement. Ceci permet d'améliorer la fonctionnalité et l'interopérabilité du Web.

La liste des erreurs connues dans cette spécification est disponible à http://www.w3.org/TR/1999/xml-stylesheet-19990629/errata.

Tous commentaires sur cette spécification peut être envoyés à <www-xml-stylesheet-comments@w3.org>. L'archive des commentaires publiques est dispoible à http://w3.org/Archives/Public/www-xml-stylesheet-comments.

Une liste à jour des recommandations et autres documents techniques du W3C peut être trouvée à http://www.w3.org/TR.

Le groupe de travail espère que des mécanismes supplémentaires pour lier les feuilles de style au document XML seront définies dans une spécification future.

L'utilisation de ces instructions de traitement XML dans cette spécification ne devraient pas être prises comme un précédent. Le W3C n'anticipe pas la recommandation de l'utilisation des instructions de traitement dans toute spécification future. Le raisonnement expliquent pourquoi elles sont utilisées dans cette spécificiation.

Ce document a été élaboré au sein de l'Activité XML du W3C.

Sommaire

1 L'instruction de traitement xml-stylesheet

Appendices

A Références
B Raisonnement

1 L'instruction de traitement xml-stylesheet

Les feuilles de style peuvent être associées avec un document XML[XML10] en utilisant une instruction de traitement dont la cible est xml-stylesheet. Cette instruction de traitement suit le comportement du <LINK REL="stylesheet"> de HTML 4.0 [HTML40].

L'instruction de traitement xml-stylesheet est analysé grammaticalement de la même façon qu'une balise de début, à l'exception que les entités, autres que celles prédéfinies, ne doivent pas être référencées.

La grammaire suivante est donnée en utilisant la même notation que la grammaire de la recommandation XML [XML10]. Les symboles dans la grammaire, qui n'est pas définie ici, sont définis dans la recommandation XML.

instruction de traitement 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;'

Dans PseudoAttValue, CharRef ou PredefEntityRef sont interprêtés de la même façon que la valeur normal d'un attribut XML. La valeur réelle du pseudo-attribut qui est la valeur après chaque référence est remplacée par le caractère qu'il référence. Ce remplacement n'est pas réalisé automatiquement par un processeur XML.

L'instruction de traitement xml-stylesheet est permise seulement dans le prologue d'un document XML. La syntaxe de XML contraint les positions autorisées des instructions de traitement dans le prologue ; l'instruction de traitement xml-stylesheet est permise à n'importe quel endroit dans le prologue qui respecte ces contraintes.

NOTE : Si l'instruction de traitement xml-stylesheet se présente dans un sous-ensemble de la DTD externe ou dans une entité paramètre, il est possible qu'elle ne puisse pas être traitée par un processeur XML non validant (voir [XML10]).

Les pseudo attributs suivants sont définis

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

Les sémantiques des pseudo-attributs sont exactement comme celle de <LINK REL="stylesheet"> dans HTML 4.0, à l'exception du pseudo-attribut alternate. Si alternate="yes" est défini, alors l'instruction de traitement a la sémantique de <LINK REL="alternate stylesheet"> à la place de <LINK REL="stylesheet">.

NOTE : Comme la valeur de l'attribut href est une référence URI, Elle peut être une URI relative et elle peut contenir un identificateur fragment. En particulier, une référence URI peut seulement contenir un identificateur fragment. Comme une référence URI est une référence d'une partie de document contenant l'instruction de traitement xml-stylesheet (voir [RFC2396]). La conséquence est que l'instruction de traitement xml-stylesheet permet aux feuilles de style d'être incluses dans le même document que l'instruction de traitement xml-stylesheet.

Dans certains cas, les feuilles de style peuvent être liées à un document XML par un moyen externe au document. Par exemple, les premières versions de HTTP [RFC2068] (section 19.6.2.4) permettent aux feuilles de style d'être associées à des documents XML au moyen de l'entête Link. Tous liens aux feuilles de style qui sont spécifiés de façon externe au document sont censés se manifester avant les liens spécifiés par l'instruction de traitement xml-stylesheet. C'est la même chose que dans HTML 4.0 (voir section 14.6).

voici quelques exemples tirés de HTML 4.0 avec l'instruction de traitement correspondante :

<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"?>

Des instructions multiple de traitement xml-stylesheet sont également autorisées avec exactement les même sémantiques que LINK REL="stylesheet". Par 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">

devrait être équivalent à :

<?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 Références

HTML40
World Wide Web Consortium. HTML 4.0 Specification. W3C Recommendation. Voir 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. Voir 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. Voir http://www.ietf.org/rfc/rfc2396.txt.
XML10
World Wide Web Consortium. Extensible Markup Language (XML) 1.0. W3C Recommendation. Voir http://www.w3.org/TR/1998/REC-xml-19980210

B Raisonnement

Il y avait un besoin urgent d'une spécification pour le mécanisme de lien des feuilles de style qui pourrait être complété à temps pour la prochaine sortie des navigateurs principaux. En choisissant uniquement un mécanisme simple basé de façon proche sur un mécanisme existant pourrait permettre de compléter à temps la spécification en respect des exigences.

L'utilisation d'une instruction de traitement évite de polluer la structure du document principal par une information de traitement spécifique d'application.

Le mécanisme choisi pour cette version de la spécification n'est pas une contrainte pour les mécanismes supplémentairs prévus dans les versions futures. Il n'y a aucune attente quant à l'utilisation future des intructions de traitement ; en effet, elles peuvent ne pas inclure l'information de liens dans le document source.