diff options
author | julieng <julien.gattelier@gmail.com> | 2021-10-02 17:20:24 +0200 |
---|---|---|
committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-10-02 17:30:20 +0200 |
commit | 1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde (patch) | |
tree | 30a56efd3eff3a01bd1611e1840fdbbfacf544a4 /files/fr/web/api/xsltprocessor | |
parent | c05efa8d7ae464235cf83d7c0956e42dc6974103 (diff) | |
download | translated-content-1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde.tar.gz translated-content-1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde.tar.bz2 translated-content-1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde.zip |
convert content to md
Diffstat (limited to 'files/fr/web/api/xsltprocessor')
5 files changed, 303 insertions, 357 deletions
diff --git a/files/fr/web/api/xsltprocessor/basic_example/index.md b/files/fr/web/api/xsltprocessor/basic_example/index.md index fb6884c046..f7de3132b2 100644 --- a/files/fr/web/api/xsltprocessor/basic_example/index.md +++ b/files/fr/web/api/xsltprocessor/basic_example/index.md @@ -4,63 +4,58 @@ slug: Web/API/XSLTProcessor/Basic_Example translation_of: Web/API/XSLTProcessor/Basic_Example original_slug: XSLT_dans_Gecko/Exemple_basique --- -<p></p><ol> -<li><a href="/fr/docs/XSLT_dans_Gecko">Introduction</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/Exemple_basique">Exemple basique</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/G%c3%a9n%c3%a9ration_de_HTML">Génération de HTML</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/Diff%c3%a9rences_entre_les_navigateurs">Différences entre les navigateurs</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/Ressources">Ressources</a></li> -</ol><p></p> +1. [Introduction](/fr/docs/XSLT_dans_Gecko) +2. [Exemple basique](/fr/docs/XSLT_dans_Gecko/Exemple_basique) +3. [Génération de HTML](/fr/docs/XSLT_dans_Gecko/G%c3%a9n%c3%a9ration_de_HTML) +4. [Différences entre les navigateurs](/fr/docs/XSLT_dans_Gecko/Diff%c3%a9rences_entre_les_navigateurs) +5. [Ressources](/fr/docs/XSLT_dans_Gecko/Ressources) -<h2 id="Exemple_basique">Exemple basique</h2> +## Exemple basique -<p>Ce premier exemple présente les bases de l'utilisation d'une transformation XSLT dans un navigateur. L'exemple utilise un document XML qui contient des informations (titre, liste d'auteurs et corps de texte) à propos d'un article pour en tirer une version lisible par un humain.</p> +Ce premier exemple présente les bases de l'utilisation d'une transformation XSLT dans un navigateur. L'exemple utilise un document XML qui contient des informations (titre, liste d'auteurs et corps de texte) à propos d'un article pour en tirer une version lisible par un humain. -<p>La figure 1 montre le code source de l'exemple XSLT. Le document XML (exemple.xml) contient les informations à propos de l'article. En utilisant l'instruction de traitement <code>?xml-stylesheet?</code>, il est lié à la feuille de style XSLT (exemple.xsl) via son attribut <code>href</code>.</p> +La figure 1 montre le code source de l'exemple XSLT. Le document XML (exemple.xml) contient les informations à propos de l'article. En utilisant l'instruction de traitement `?xml-stylesheet?`, il est lié à la feuille de style XSLT (exemple.xsl) via son attribut `href`. -<p>Une feuille de style XSLT débute par l'élément <code>xsl:stylesheet</code>, qui contient tous les modèles utilisés pour créer le résultat final. L'exemple de la figure 1 possède deux modèles - un qui s'applique au nœud racine et un aux nœuds <code>Author</code>. Le modèle correspondant au nœud racine produit en sortie le titre de l'article puis déclenche le traitement de tous les autres modèles (via <code>apply-templates</code>) correspondant aux nœuds <code>Author</code> qui sont les descendants du nœud <code>Authors</code>.</p> +Une feuille de style XSLT débute par l'élément `xsl:stylesheet`, qui contient tous les modèles utilisés pour créer le résultat final. L'exemple de la figure 1 possède deux modèles - un qui s'applique au nœud racine et un aux nœuds `Author`. Le modèle correspondant au nœud racine produit en sortie le titre de l'article puis déclenche le traitement de tous les autres modèles (via `apply-templates`) correspondant aux nœuds `Author` qui sont les descendants du nœud `Authors`. -<p>Figure 1 : exemple XSLT simple</p> +Figure 1 : exemple XSLT simple -<p>Document XML (exemple.xml) :</p> +Document XML (exemple.xml) : -<pre> <?xml version="1.0"?> - <?xml-stylesheet type="text/xsl" href="exemple.xsl"?> - <Article> - <Title>Mon article</Title> - <Authors> - <Author>M. Foo</Author> - <Author>M. Bar</Author> - </Authors> - <Body>Ceci est le texte de mon article.</Body> - </Article> -</pre> + <?xml version="1.0"?> + <?xml-stylesheet type="text/xsl" href="exemple.xsl"?> + <Article> + <Title>Mon article</Title> + <Authors> + <Author>M. Foo</Author> + <Author>M. Bar</Author> + </Authors> + <Body>Ceci est le texte de mon article.</Body> + </Article> -<p>Feuille de style XSL (exemple.xsl) :</p> +Feuille de style XSL (exemple.xsl) : -<pre> <?xml version="1.0"?> - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <?xml version="1.0"?> + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - <xsl:output method="text"/> + <xsl:output method="text"/> - <xsl:template match="/"> - Article - <xsl:value-of select="/Article/Title"/> - Auteurs : <xsl:apply-templates select="/Article/Authors/Author"/> - </xsl:template> + <xsl:template match="/"> + Article - <xsl:value-of select="/Article/Title"/> + Auteurs : <xsl:apply-templates select="/Article/Authors/Author"/> + </xsl:template> - <xsl:template match="Author"> - - <xsl:value-of select="." /> - </xsl:template> + <xsl:template match="Author"> + - <xsl:value-of select="." /> + </xsl:template> - </xsl:stylesheet> -</pre> + </xsl:stylesheet> -<p>Sortie dans le navigateur :</p> +Sortie dans le navigateur : -<pre> Article - Mon article - Auteurs : - - M. Foo - - M. Bar -</pre> + Article - Mon article + Auteurs : + - M. Foo + - M. Bar -<p>{{PreviousNext("XSLT dans Gecko", "XSLT dans Gecko:Génération de HTML")}}</p> +{{PreviousNext("XSLT dans Gecko", "XSLT dans Gecko:Génération de HTML")}} diff --git a/files/fr/web/api/xsltprocessor/browser_differences/index.md b/files/fr/web/api/xsltprocessor/browser_differences/index.md index 5ab86ed667..a8cb10124a 100644 --- a/files/fr/web/api/xsltprocessor/browser_differences/index.md +++ b/files/fr/web/api/xsltprocessor/browser_differences/index.md @@ -4,20 +4,16 @@ slug: Web/API/XSLTProcessor/Browser_Differences translation_of: Web/API/XSLTProcessor/Browser_Differences original_slug: XSLT_dans_Gecko/Différences_entre_les_navigateurs --- -<p></p><ol> -<li><a href="/fr/docs/XSLT_dans_Gecko">Introduction</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/Exemple_basique">Exemple basique</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/G%c3%a9n%c3%a9ration_de_HTML">Génération de HTML</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/Diff%c3%a9rences_entre_les_navigateurs">Différences entre les navigateurs</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/Ressources">Ressources</a></li> -</ol><p></p> +1. [Introduction](/fr/docs/XSLT_dans_Gecko) +2. [Exemple basique](/fr/docs/XSLT_dans_Gecko/Exemple_basique) +3. [Génération de HTML](/fr/docs/XSLT_dans_Gecko/G%c3%a9n%c3%a9ration_de_HTML) +4. [Différences entre les navigateurs](/fr/docs/XSLT_dans_Gecko/Diff%c3%a9rences_entre_les_navigateurs) +5. [Ressources](/fr/docs/XSLT_dans_Gecko/Ressources) -<h2 id="Diff.C3.A9rences_entre_les_navigateurs">Différences entre les navigateurs</h2> +## Différences entre les navigateurs -<ul> - <li>Netscape 7.x (toutes plateformes confondues) et Internet Explorer 6 (Windows) support ent la recommandation <a href="http://www.w3.org/TR/xslt">XSLT 1.0 (en)</a> du W3C.</li> - <li>IE 5.0 et 5.5 (Windows) ne supportent que le brouillon de travail de XSLT, et ne sont donc pas compatibles avec les feuilles de style XSLT 1.0.</li> - <li>Netscape 6.x ne supporte que partiellement XSLT 1.0.</li> -</ul> +- Netscape 7.x (toutes plateformes confondues) et Internet Explorer 6 (Windows) support ent la recommandation [XSLT 1.0 (en)](http://www.w3.org/TR/xslt) du W3C. +- IE 5.0 et 5.5 (Windows) ne supportent que le brouillon de travail de XSLT, et ne sont donc pas compatibles avec les feuilles de style XSLT 1.0. +- Netscape 6.x ne supporte que partiellement XSLT 1.0. -<p>{{PreviousNext("XSLT dans Gecko:Génération de HTML", "XSLT dans Gecko:Ressources")}}</p> +{{PreviousNext("XSLT dans Gecko:Génération de HTML", "XSLT dans Gecko:Ressources")}} diff --git a/files/fr/web/api/xsltprocessor/generating_html/index.md b/files/fr/web/api/xsltprocessor/generating_html/index.md index 59286d20d5..535ee31fe5 100644 --- a/files/fr/web/api/xsltprocessor/generating_html/index.md +++ b/files/fr/web/api/xsltprocessor/generating_html/index.md @@ -4,188 +4,181 @@ slug: Web/API/XSLTProcessor/Generating_HTML translation_of: Web/API/XSLTProcessor/Generating_HTML original_slug: XSLT_dans_Gecko/Génération_de_HTML --- -<p></p><ol> -<li><a href="/fr/docs/XSLT_dans_Gecko">Introduction</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/Exemple_basique">Exemple basique</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/G%c3%a9n%c3%a9ration_de_HTML">Génération de HTML</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/Diff%c3%a9rences_entre_les_navigateurs">Différences entre les navigateurs</a></li> -<li><a href="/fr/docs/XSLT_dans_Gecko/Ressources">Ressources</a></li> -</ol><p></p> +1. [Introduction](/fr/docs/XSLT_dans_Gecko) +2. [Exemple basique](/fr/docs/XSLT_dans_Gecko/Exemple_basique) +3. [Génération de HTML](/fr/docs/XSLT_dans_Gecko/G%c3%a9n%c3%a9ration_de_HTML) +4. [Différences entre les navigateurs](/fr/docs/XSLT_dans_Gecko/Diff%c3%a9rences_entre_les_navigateurs) +5. [Ressources](/fr/docs/XSLT_dans_Gecko/Ressources) -<h2 id="G.C3.A9n.C3.A9ration_de_HTML">Génération de HTML</h2> +## Génération de HTML -<p>Une application courante de XSLT dans les navigateurs est la transformation de code XML en HTML du coté du client. Le second exemple va transformer un document d'entrée (example2.xml), qui contient des informations à propos d'un article, en un document HTML.</p> +Une application courante de XSLT dans les navigateurs est la transformation de code XML en HTML du coté du client. Le second exemple va transformer un document d'entrée (example2.xml), qui contient des informations à propos d'un article, en un document HTML. -<p>L'élément <code><body></code> de l'article contient maintenant des éléments HTML (des balises <code><strong></code> et <code><em></code>, voir la figure 2). Le document XML contient à la fois des éléments HTML et éléments XML, mais un seul espace de nommage est nécessaire, pour les éléments XML. Comme il n'existe pas d'espace de nommage HTML, et que l'utilisation de l'espace de nommage XHTML forcerait le XSL à créer un document XML qui pourrait ne pas se comporter comme un document HTML, le nœud <code>xsl:output</code> de la feuille de style assure que le document résultant sera bien traité comme du HTML. Pour les éléments XML, nous avons besoin de notre propre espace de nommage, <code><a href="http://devedge.netscape.com/2002/de">http://devedge.netscape.com/2002/de</a></code>, à qui nous donnons le préfixe myNS <code>(xmlns:myNS="http://devedge.netscape.com/2002/de")</code>.</p> +L'élément `<body>` de l'article contient maintenant des éléments HTML (des balises `<strong>` et `<em>`, voir la figure 2). Le document XML contient à la fois des éléments HTML et éléments XML, mais un seul espace de nommage est nécessaire, pour les éléments XML. Comme il n'existe pas d'espace de nommage HTML, et que l'utilisation de l'espace de nommage XHTML forcerait le XSL à créer un document XML qui pourrait ne pas se comporter comme un document HTML, le nœud `xsl:output` de la feuille de style assure que le document résultant sera bien traité comme du HTML. Pour les éléments XML, nous avons besoin de notre propre espace de nommage, [`http://devedge.netscape.com/2002/de`](http://devedge.netscape.com/2002/de), à qui nous donnons le préfixe myNS `(xmlns:myNS="http://devedge.netscape.com/2002/de")`. -<p><small><strong>Figure 2 : fichier XML (example2.xml)voir l'exemple | voir le source</strong></small> Document XML (example2.xml): <div style="background: #EEE; font-size: 1.1em; line-height: 1.1em; border: dashed #666 1px; padding: 15px 20px 15px 20px; overflow: auto;"></p> +**Figure 2 : fichier XML (example2.xml)voir l'exemple | voir le source** Document XML (example2.xml): \<div style="background: #EEE; font-size: 1.1em; line-height: 1.1em; border: dashed #666 1px; padding: 15px 20px 15px 20px; overflow: auto;"> -<pre class="eval"><?xml version="1.0"?> -<?xml-stylesheet type="text/xsl" href="example.xsl"?> - <myNS:Article xmlns:myNS="<a href="http://devedge.netscape.com/2002/de">http://devedge.netscape.com/2002/de</a>"> - <myNS:Title>Mon article</myNS:Title> - <myNS:Authors> - <myNS:Author company="Foopy Corp.">M. Foo</myNS:Author> - <myNS:Author>M. Bar</myNS:Author> - </myNS:Authors> - <myNS:Body> - En <em>Espagne</em>, les <strong>pluies</strong> se concentrent - principalement dans les plaines. - </myNS:Body> - </myNS:Article> -</pre> + <?xml version="1.0"?> + <?xml-stylesheet type="text/xsl" href="example.xsl"?> + <myNS:Article xmlns:myNS="http://devedge.netscape.com/2002/de"> + <myNS:Title>Mon article</myNS:Title> + <myNS:Authors> + <myNS:Author company="Foopy Corp.">M. Foo</myNS:Author> + <myNS:Author>M. Bar</myNS:Author> + </myNS:Authors> + <myNS:Body> + En <em>Espagne</em>, les <strong>pluies</strong> se concentrent + principalement dans les plaines. + </myNS:Body> + </myNS:Article> -<p>La feuille de style XSL utilisée aura besoin de deux espaces de nommage - un pour les éléments XSLT et un pour nos propres éléments XML utilisés dans le document XML. La sortie de la feuille de style XSL est définie à <code>HTML</code> à l'aide de l'élément <code>xsl:output</code>. En définissant la sortie comme étant du code HTML et en n'ayant pas d'espace de nommage pour les éléments résultants (coloré en bleu), ces éléments seront traités comme des éléments HTML.</p> +La feuille de style XSL utilisée aura besoin de deux espaces de nommage - un pour les éléments XSLT et un pour nos propres éléments XML utilisés dans le document XML. La sortie de la feuille de style XSL est définie à `HTML` à l'aide de l'élément `xsl:output`. En définissant la sortie comme étant du code HTML et en n'ayant pas d'espace de nommage pour les éléments résultants (coloré en bleu), ces éléments seront traités comme des éléments HTML. -<p><small><strong>Figure 3 : feuille de style XSL avec 2 espaces de nommage</strong> (example2.xsl)</small> feuille de style XSL (example2.xsl):</p> +**Figure 3 : feuille de style XSL avec 2 espaces de nommage** (example2.xsl) feuille de style XSL (example2.xsl): -<pre> <?xml version="1.0"?> - <xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:myNS="http://devedge.netscape.com/2002/de"> + <?xml version="1.0"?> + <xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:myNS="http://devedge.netscape.com/2002/de"> - <xsl:output method="html"/> - ... - </xsl:stylesheet> -</pre> + <xsl:output method="html"/> + ... + </xsl:stylesheet> -<p>Un modèle s'appliquant au nœud racine du document XML est créé et utilisé pour créer la structure de base de la page HTML.</p> +Un modèle s'appliquant au nœud racine du document XML est créé et utilisé pour créer la structure de base de la page HTML. -<p><small><strong>Figure 4 : Création du document HTML de base</strong></small> feuille de style XSL (example2.xsl):</p> +**Figure 4 : Création du document HTML de base** feuille de style XSL (example2.xsl): -<pre> ... - <xsl:template match="/"> - <html> + ... + <xsl:template match="/"> + <html> - <head> + <head> - <title> - <xsl:value-of select="/myNS:Article/myNS:Title"/> - </title> + <title> + <xsl:value-of select="/myNS:Article/myNS:Title"/> + </title> - <style type="text/css"> - .myBox {margin:10px 155px 0 50px; border: 1px dotted #639ACE; padding:0 5px 0 5px;} - </style> + <style type="text/css"> + .myBox {margin:10px 155px 0 50px; border: 1px dotted #639ACE; padding:0 5px 0 5px;} + </style> - </head> + </head> - <body> - <p class="myBox"> - <span class="title"> - <xsl:value-of select="/myNS:Article/myNS:Title"/> - </span> <br /> + <body> + <p class="myBox"> + <span class="title"> + <xsl:value-of select="/myNS:Article/myNS:Title"/> + </span> <br /> - Auteurs : <br /> - <xsl:apply-templates select="/myNS:Article/myNS:Authors/myNS:Author"/> - </p> + Auteurs : <br /> + <xsl:apply-templates select="/myNS:Article/myNS:Authors/myNS:Author"/> + </p> - <p class="myBox"> - <xsl:apply-templates select="//myNS:Body"/> - </p> + <p class="myBox"> + <xsl:apply-templates select="//myNS:Body"/> + </p> - </body> + </body> - </html> - </xsl:template> - ... -</pre> + </html> + </xsl:template> + ... -<p>Nous avons besoin de trois <code>xsl:template</code> supplémentaires pour parachever l'exemple. Le premier <code>xsl:template</code> est utilisé pour les nœuds <code>Author</code>, alors que le deuxième traite le nœud <code>body</code>. Le troisième possède une règle de correspondance générale qui lui permet de s'appliquer à chaque nœud et chaque attribut. Cela est nécessaire afin de préserver les éléments HTML présents dans le document XML : il s'appliquant à tous, et les recopie dans le document HTML créé par la transformation.</p> +Nous avons besoin de trois `xsl:template` supplémentaires pour parachever l'exemple. Le premier `xsl:template` est utilisé pour les nœuds `Author`, alors que le deuxième traite le nœud `body`. Le troisième possède une règle de correspondance générale qui lui permet de s'appliquer à chaque nœud et chaque attribut. Cela est nécessaire afin de préserver les éléments HTML présents dans le document XML : il s'appliquant à tous, et les recopie dans le document HTML créé par la transformation. -<p><strong><small>Figure 5 : Les 3 modèles finaux</small></strong> feuille de style XSL (example2.xsl):</p> +**Figure 5 : Les 3 modèles finaux** feuille de style XSL (example2.xsl): -<pre> ... - <xsl:template match="myNS:Author"> - -- <xsl:value-of select="." /> + ... + <xsl:template match="myNS:Author"> + -- <xsl:value-of select="." /> - <xsl:if test="@company"> - :: <strong> <xsl:value-of select="@company" /> </strong> - </xsl:if> + <xsl:if test="@company"> + :: <strong> <xsl:value-of select="@company" /> </strong> + </xsl:if> - <br /> - </xsl:template> + <br /> + </xsl:template> - <xsl:template match="myNS:Body"> - <xsl:copy> - <xsl:apply-templates select="@*|node()"/> - </xsl:copy> - </xsl:template> + <xsl:template match="myNS:Body"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> - <xsl:template match="@*|node()"> - <xsl:copy> - <xsl:apply-templates select="@*|node()"/> - </xsl:copy> - </xsl:template> - ... -</pre> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + ... -<p>La feuille de style XSLT finale est donc :</p> +La feuille de style XSLT finale est donc : -<p><small><strong>Figure 6 : feuille de style XSLT finale voir l'exemple | voir le source</strong></small> feuille de style XSL :</p> +**Figure 6 : feuille de style XSLT finale voir l'exemple | voir le source** feuille de style XSL : -<pre> <?xml version="1.0"?> - <xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:myNS="http://devedge.netscape.com/2002/de"> + <?xml version="1.0"?> + <xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:myNS="http://devedge.netscape.com/2002/de"> - <xsl:output method="html" /> + <xsl:output method="html" /> - <xsl:template match="/"> - <html> + <xsl:template match="/"> + <html> - <head> + <head> - <title> - <xsl:value-of select="/myNS:Article/myNS:Title"/> - </title> + <title> + <xsl:value-of select="/myNS:Article/myNS:Title"/> + </title> - <style type="text/css"> - .myBox {margin:10px 155px 0 50px; border: 1px dotted #639ACE; padding:0 5px 0 5px;} - </style> + <style type="text/css"> + .myBox {margin:10px 155px 0 50px; border: 1px dotted #639ACE; padding:0 5px 0 5px;} + </style> - </head> + </head> - <body> - <p class="myBox"> - <span class="title"> - <xsl:value-of select="/myNS:Article/myNS:Title"/> - </span> <br /> + <body> + <p class="myBox"> + <span class="title"> + <xsl:value-of select="/myNS:Article/myNS:Title"/> + </span> <br /> - Authors: <br /> - <xsl:apply-templates select="/myNS:Article/myNS:Authors/myNS:Author"/> - </p> + Authors: <br /> + <xsl:apply-templates select="/myNS:Article/myNS:Authors/myNS:Author"/> + </p> - <p class="myBox"> - <xsl:apply-templates select="//myNS:Body"/> - </p> + <p class="myBox"> + <xsl:apply-templates select="//myNS:Body"/> + </p> - </body> + </body> - </html> - </xsl:template> + </html> + </xsl:template> - <xsl:template match="myNS:Author"> - -- <xsl:value-of select="." /> + <xsl:template match="myNS:Author"> + -- <xsl:value-of select="." /> - <xsl:if test="@company"> - :: <b> <xsl:value-of select="@company" /> </b> - </xsl:if> + <xsl:if test="@company"> + :: <b> <xsl:value-of select="@company" /> </b> + </xsl:if> - <br /> - </xsl:template> + <br /> + </xsl:template> - <xsl:template match="myNS:Body"> - <xsl:copy> - <xsl:apply-templates select="@*|node()"/> - </xsl:copy> - </xsl:template> + <xsl:template match="myNS:Body"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> - <xsl:template match="@*|node()"> - <xsl:copy> - <xsl:apply-templates select="@*|node()"/> - </xsl:copy> - </xsl:template> - </xsl:stylesheet> -</pre> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + </xsl:stylesheet> -<p>{{PreviousNext("XSLT dans Gecko:Exemple basique", "XSLT dans Gecko:Différences entre les navigateurs")}}</p> +{{PreviousNext("XSLT dans Gecko:Exemple basique", "XSLT dans Gecko:Différences entre les navigateurs")}} diff --git a/files/fr/web/api/xsltprocessor/index.md b/files/fr/web/api/xsltprocessor/index.md index 68179a3bce..27da398efa 100644 --- a/files/fr/web/api/xsltprocessor/index.md +++ b/files/fr/web/api/xsltprocessor/index.md @@ -10,126 +10,81 @@ tags: - XSLT translation_of: Web/API/XSLTProcessor --- -<div>{{APIRef("XSLT")}}</div> - -<p>Un <strong><code>XSLTProcessor</code></strong> applique une transformation de feuille de style <a href="/en-US/docs/Web/XSLT">XSLT</a> à un document XML pour générer un nouveau document XML. Il fait appel à des méthodes pour charger la feuille de style XSLT, donner des valeurs aux paramètres <code><xsl:param></code> et pour appliquer les transformations au document.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<p>Le constructeur n'a pas de paramètre.</p> - -<pre class="syntaxbox">new XSLTProcessor()</pre> - -<h2 id="Méthodes">Méthodes</h2> - -<dl> - <dt><code><a href="/en-US/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> void </code>{{domxref("XSLTProcessor.importStylesheet")}}<code>(</code>{{domxref("Node")}}<code> styleSheet)</code></dt> - <dd>Importe une feuille de style XSLT. Si le nœud passé en argument est un nœud de document, vous pouvez passer une transformation XSL complète ou un <a href="http://www.w3.org/TR/xslt#result-element-stylesheet">transformation d'élèment résultant</a>; sinon, il doit s'agir d'un élèment <code><xsl:stylesheet></code> ou <code><xsl:transform></code>.</dd> - <dt><code><a href="/en-US/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> </code>{{domxref("DocumentFragment")}} {{domxref("XSLTProcessor.transformToFragment")}}<code>(</code>{{domxref("Node")}}<code> source, </code>{{domxref("Document")}}<code> owner)</code></dt> - <dd>Transforme la source du nœud en applicant la fonction {{domxref("XSLTProcessor.importStylesheet()")}}. Le document propriétaire du fragment de document résultant est le nœud propriétaire.</dd> - <dt><code><a href="/en-US/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a></code> {{domxref("Document")}} {{domxref("XSLTProcessor.transformToDocument")}}<code>(</code>{{domxref("Node")}}<code> source)</code></dt> - <dd> - <p>Transforme la source du nœud en appliquant la feuille de style donnée lors de l'importation à l'aide de la fonction {{domxref ("XSLTProcessor.importStylesheet ()")}}.</p> - - <p>L'objet résultant dépend de la <a href="http://www.w3.org/TR/xslt#output">méthode de sortie</a> de la feuille de style :</p> - - <table class="standard-table"> - <thead> - <tr> - <th scope="col">Méthode de sortie</th> - <th scope="col">Type de résultat</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>html</code></td> - <td>{{domxref("HTMLDocument")}}</td> - </tr> - <tr> - <td><code>xml</code></td> - <td>{{domxref("XMLDocument")}}</td> - </tr> - <tr> - <td><code>text</code></td> - <td>{{domxref("XMLDocument")}} avec un seul élèment racine <code><transformiix:result></code> avec le texte comme enfant</td> - </tr> - </tbody> - </table> - </dd> - <dt><code><a href="/en-US/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> void </code>{{domxref("XSLTProcessor.setParameter")}}<code>(</code>{{jsxref("String")}}<code> namespaceURI, </code>{{jsxref("String")}}<code> localName, any value)</code></dt> - <dd>Définit un paramètre dans la feuille de style XSLT qui a été importée. (Définit la valeur d'un <code><xsl:param></code>.) Une valeur nulle pour <code>namespaceURI</code> sera traitée comme une chaîne vide.</dd> - <dt><code><a href="/en-US/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> any </code>{{domxref("XSLTProcessor.getParameter")}}<code>(</code>{{jsxref("String")}}<code> namespaceURI, </code>{{jsxref("String")}}<code> localName)</code></dt> - <dd>Récupére un paramètre de la feuille de style XSLT. Une valeur nulle pour <code>namespaceURI</code> sera traitée comme une chaîne vide.</dd> - <dt><code><a href="/en-US/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> void </code>{{domxref("XSLTProcessor.removeParameter")}}<code>(</code>{{jsxref("String")}}<code> namespaceURI, </code>{{jsxref("String")}}<code> localName)</code></dt> - <dd>Supprime le paramètre s'il a déjà été défni. Le <code>XSLTProcessor</code> utilisera alors la valeur par défaut du paramètre. Si une valeur nulle est donnée pour <code>namespaceURI</code>, elle sera traitée comme une chaîne vide.</dd> - <dt><code>void </code>{{domxref("XSLTProcessor.clearParameters()")}}</dt> - <dd>Supprime tous les paramètres définis dans le <code>XSLTProcessor</code>. Le <code>XSLTProcessor</code> utilisera alors les valeurs par défaut spécifiées dans la feuille de style XSLT.</dd> - <dt><code>void </code>{{domxref("XSLTProcessor.reset()")}}</dt> - <dd>Supprime tous les paramétres et feuilles de style du <code>XSLTProcessor</code>.</dd> -</dl> - -<h2 id="Propriétés">Propriétés</h2> - -<h3 id="Propriétés_non-apparentes_au_Web">Propriétés non-apparentes au Web</h3> - -<p>Les propriétés suivantes sont <a href="/en-US/docs/Mozilla/WebIDL_bindings#ChromeOnly"><code>[ChromeOnly]</code></a> et ne sont pas apparentes au contenu Web :</p> - -<dl> - <dt><code><a href="/en-US/docs/Mozilla/WebIDL_bindings#ChromeOnly">[ChromeOnly]</a> attribute unsigned long </code>{{domxref("XSLTProcessor.flags")}}</dt> - <dd> - <p>Drapeaux qui modifient le comportement du processeur. Pas de réinitialisation en appelant {{domxref("XSLTProcessor.reset()")}}. Valeur par défaut: <code>0</code></p> - - <p>Possible values are:</p> - - <table class="standard-table"> - <thead> - <tr> - <th scope="col">Nom</th> - <th scope="col">Valeur</th> - <th scope="col">Effet</th> - </tr> - </thead> - <tbody> - <tr> - <td>(None)</td> - <td><code>0</code></td> - <td>Aucun</td> - </tr> - <tr> - <td><code>DISABLE_ALL_LOADS</code></td> - <td><code>1</code></td> - <td>Désactiver le chargement de documents externes (par ex. <code><xsl:import></code> et <code>document()</code>)</td> - </tr> - </tbody> - </table> - </dd> -</dl> - -<h2 id="Exemples">Exemples</h2> - -<ol> - <li><a href="/fr-FR/docs/XSLT/XSLT_JS_Interface_in_Gecko/Basic_Example">Exemple simple</a></li> - <li><a href="/fr-FR/docs/XSLT/XSLT_JS_Interface_in_Gecko/Advanced_Example">Exemple avancé</a></li> - <li><a href="/fr-FR/docs/XSLT/XSLT_JS_Interface_in_Gecko/JavaScript_XSLT_Bindings">Exemple additionnel</a></li> -</ol> - -<h2 id="Spécifications">Spécifications</h2> - -<p><em>Ne fait partie d'aucune spécification.</em> Il s'agit d'une interface propriétaire qui provient de Gecko.</p> - -<h2 id="Gecko_IDL">Gecko IDL</h2> - -<ul> - <li><code>{{ Source("dom/webidl/XSLTProcessor.webidl", "XSLTProcessor.webidl") }}</code></li> - <li><code>{{ Source("dom/xslt/nsIXSLTProcessor.idl", "nsIXSLTProcessor.idl") }}</code></li> -</ul> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("api.XSLTProcessor")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr-FR/docs/Using_the_Mozilla_JavaScript_interface_to_XSL_Transformations">Utilisation de l'interface JavaScript de Mozilla pour les transformations XML</a></li> -</ul> +{{APIRef("XSLT")}} + +Un **`XSLTProcessor`** applique une transformation de feuille de style [XSLT](/en-US/docs/Web/XSLT) à un document XML pour générer un nouveau document XML. Il fait appel à des méthodes pour charger la feuille de style XSLT, donner des valeurs aux paramètres `<xsl:param>` et pour appliquer les transformations au document. + +## Syntaxe + +Le constructeur n'a pas de paramètre. + + new XSLTProcessor() + +## Méthodes + +- `[Throws] void `{{domxref("XSLTProcessor.importStylesheet")}}`(`{{domxref("Node")}}` styleSheet)` + - : Importe une feuille de style XSLT. Si le nœud passé en argument est un nœud de document, vous pouvez passer une transformation XSL complète ou un [transformation d'élèment résultant](http://www.w3.org/TR/xslt#result-element-stylesheet); sinon, il doit s'agir d'un élèment `<xsl:stylesheet>` ou `<xsl:transform>`. +- `[Throws] `{{domxref("DocumentFragment")}} {{domxref("XSLTProcessor.transformToFragment")}}`(`{{domxref("Node")}}` source, `{{domxref("Document")}}` owner)` + - : Transforme la source du nœud en applicant la fonction {{domxref("XSLTProcessor.importStylesheet()")}}. Le document propriétaire du fragment de document résultant est le nœud propriétaire. +- [`[Throws]`](/en-US/docs/Mozilla/WebIDL_bindings#Throws) {{domxref("Document")}} {{domxref("XSLTProcessor.transformToDocument")}}`(`{{domxref("Node")}}` source)` + + - : Transforme la source du nœud en appliquant la feuille de style donnée lors de l'importation à l'aide de la fonction {{domxref ("XSLTProcessor.importStylesheet ()")}}. + + L'objet résultant dépend de la [méthode de sortie](http://www.w3.org/TR/xslt#output) de la feuille de style : + + | Méthode de sortie | Type de résultat | + | ----------------- | ------------------------------------------------------------------------------------------------------------------- | + | `html` | {{domxref("HTMLDocument")}} | + | `xml` | {{domxref("XMLDocument")}} | + | `text` | {{domxref("XMLDocument")}} avec un seul élèment racine `<transformiix:result>` avec le texte comme enfant | + +- `[Throws] void `{{domxref("XSLTProcessor.setParameter")}}`(`{{jsxref("String")}}` namespaceURI, `{{jsxref("String")}}` localName, any value)` + - : Définit un paramètre dans la feuille de style XSLT qui a été importée. (Définit la valeur d'un `<xsl:param>`.) Une valeur nulle pour `namespaceURI` sera traitée comme une chaîne vide. +- `[Throws] any `{{domxref("XSLTProcessor.getParameter")}}`(`{{jsxref("String")}}` namespaceURI, `{{jsxref("String")}}` localName)` + - : Récupére un paramètre de la feuille de style XSLT. Une valeur nulle pour `namespaceURI` sera traitée comme une chaîne vide. +- `[Throws] void `{{domxref("XSLTProcessor.removeParameter")}}`(`{{jsxref("String")}}` namespaceURI, `{{jsxref("String")}}` localName)` + - : Supprime le paramètre s'il a déjà été défni. Le `XSLTProcessor` utilisera alors la valeur par défaut du paramètre. Si une valeur nulle est donnée pour `namespaceURI`, elle sera traitée comme une chaîne vide. +- `void `{{domxref("XSLTProcessor.clearParameters()")}} + - : Supprime tous les paramètres définis dans le `XSLTProcessor`. Le `XSLTProcessor` utilisera alors les valeurs par défaut spécifiées dans la feuille de style XSLT. +- `void `{{domxref("XSLTProcessor.reset()")}} + - : Supprime tous les paramétres et feuilles de style du `XSLTProcessor`. + +## Propriétés + +### Propriétés non-apparentes au Web + +Les propriétés suivantes sont [`[ChromeOnly]`](/en-US/docs/Mozilla/WebIDL_bindings#ChromeOnly) et ne sont pas apparentes au contenu Web : + +- `[ChromeOnly] attribute unsigned long `{{domxref("XSLTProcessor.flags")}} + + - : Drapeaux qui modifient le comportement du processeur. Pas de réinitialisation en appelant {{domxref("XSLTProcessor.reset()")}}. Valeur par défaut: `0` + + Possible values are: + + | Nom | Valeur | Effet | + | ------------------- | ------ | --------------------------------------------------------------------------------------- | + | (None) | `0` | Aucun | + | `DISABLE_ALL_LOADS` | `1` | Désactiver le chargement de documents externes (par ex. `<xsl:import>` et `document()`) | + +## Exemples + +1. [Exemple simple](/fr-FR/docs/XSLT/XSLT_JS_Interface_in_Gecko/Basic_Example) +2. [Exemple avancé](/fr-FR/docs/XSLT/XSLT_JS_Interface_in_Gecko/Advanced_Example) +3. [Exemple additionnel](/fr-FR/docs/XSLT/XSLT_JS_Interface_in_Gecko/JavaScript_XSLT_Bindings) + +## Spécifications + +_Ne fait partie d'aucune spécification._ Il s'agit d'une interface propriétaire qui provient de Gecko. + +## Gecko IDL + +- `{{ Source("dom/webidl/XSLTProcessor.webidl", "XSLTProcessor.webidl") }}` +- `{{ Source("dom/xslt/nsIXSLTProcessor.idl", "nsIXSLTProcessor.idl") }}` + +## Compatibilité des navigateurs + +{{Compat("api.XSLTProcessor")}} + +## Voir aussi + +- [Utilisation de l'interface JavaScript de Mozilla pour les transformations XML](/fr-FR/docs/Using_the_Mozilla_JavaScript_interface_to_XSL_Transformations) diff --git a/files/fr/web/api/xsltprocessor/xsl_transformations_in_mozilla_faq/index.md b/files/fr/web/api/xsltprocessor/xsl_transformations_in_mozilla_faq/index.md index e98799df65..59b57119e7 100644 --- a/files/fr/web/api/xsltprocessor/xsl_transformations_in_mozilla_faq/index.md +++ b/files/fr/web/api/xsltprocessor/xsl_transformations_in_mozilla_faq/index.md @@ -6,43 +6,50 @@ tags: translation_of: Web/API/XSLTProcessor/XSL_Transformations_in_Mozilla_FAQ original_slug: FAQ_sur_les_transformations_XSL_dans_Mozilla --- +#### Pourquoi ma feuille de style ne s'applique pas ? -<h4 id="Pourquoi_ma_feuille_de_style_ne_s.27applique_pas_.3F"> Pourquoi ma feuille de style ne s'applique pas ? </h4> -<p>Vérifiez que le type MIME du document source et de la feuille de style est bien un type MIME XML, à savoir <code>text/xml</code> ou <code>application/xml</code>. L'espace de nommage XSLT est <code>http://www.w3.org/1999/XSL/Transform</code>. Utilisez l'instruction de traitement <code><?xml-stylesheet ?></code> plutôt que l'élément non standard <code>xml:stylesheet</code>. Le problème le plus courant est la gestion du type MIME. Pour savoir quel type MIME est envoyé par votre serveur, consultez les Informations sur la page, utilisez une extension telle que <a href="http://livehttpheaders.mozdev.org/">LiveHTTPHeaders (en)</a> ou un gestionnaire de téléchargements comme wget. Mozilla ne chargera pas les feuilles de style XSLT depuis un domaine différent pour des raisons de sécurité. -</p> -<h4 id="Cela_fonctione_dans_IE.2C_mais_pas_dans_Mozilla_.3F"> Cela fonctione dans IE, mais pas dans Mozilla ? </h4> -<p>Il y a plus que cette "simple" différence. Nous suspectons que la plupart des différences proviennent de ce que fait IE après la transformation. IE (pour autant que l'on puisse dire) sérialise et analyse la sortie avant de générer ce qu'il rend. Mozilla, au contraire, rend exactement le résultat du votre transformation. -</p> -<h4 id="Puis-je_d.C3.A9sactiver_l.27.C3.A9chappement_de_la_sortie_avec_disable-output-escaping_.3F"> Puis-je désactiver l'échappement de la sortie avec <code>disable-output-escaping</code> ? </h4> -<p>Cette question est en fait très proche de la précédente. Pour faire court, non. Désactiver l'échappement en sortie nécessite que nous ajoutions une étape d'analyse à la génération de notre sortie, ce que nous ne voulons pas. Dans la plupart des cas, il existe des contournements assez facile à mettre en œuvre. Les seuls cas d'utilisation que nous ayons vu jusqu'à présent sont du mauvais XML, du mauvais XSLT, ou les flux RSS. Ce dernier est pour nous le seul problème, et nous sommes désolé de ne pouvoir le supporter, mais mélanger l'analyse avec le XSLT est à risque et nous préférons ne pas le supporter <b>d-o-e</b> plutôt que de provoquer des crashes ou de ralentir le processus. -</p> -<h4 id="Que_dire_de_document.write_.3F"> Que dire de <code>document.write</code> ? </h4> -<p>Tout comme pour le XHTML, <code>document.write</code> n'est pas supporté pendant les transformations XSLT. Malheureusement, les compilations actuelles ne retournent pas d'erreur, mais donnent simplement des résultats inattendus, comme des crashes ({{ Bug(202765) }}). Dans la plupart des cas il n'y a en fait aucune raison de l'utiliser. Si vous avez besoin d'employer du code ou une feuille de style spécifique à une plate-forme, utilisez ce qui suit : -</p> -<pre> <xsl:if test="system-property('xsl:vendor')='Transformiix'"> - <!-- Balisage propre à Mozilla --> - </xsl:if> - <xsl:if test="system-property('xsl:vendor')='Microsoft'"> - <!-- Balisage propre à IE --> - </xsl:if> -</pre> -<p>Vérifiez system-properties.xml pour les propriétés de votre système favori. MSXML possède une propriété supplémentaire : -</p> -<pre> <xsl:if xmlns:msxsl="urn:schemas-microsoft-com:xslt" - test="system-property('msxsl:version')=3"> - <!-- MSXML3 specific markup --> - </xsl:if> -</pre> -<h4 id="Que_dire_de_media.3D.22print.22.3F"> Que dire de <code>media="print"</code>? </h4> -<p>Lors de l'impression d'un document, Mozilla tente de produire une page imprimée aussi proche que possible de l'affichage à l'écran, en incluant par exemple le texte saisi dans des champs de formulaire, et tout autre changement dynamique. Pour cela, on imprime l'arbre DOM actuel. Utiliser une feuille de style XSLT spécifique à un <code>media</code> particulier requiererait une nouvelle transformation du document XML source original, ce qui pourrait produire une sortie différant de ce à quoi l'utilisateur s'attend. Aussi, l'utilisation de <code>media</code> dans <?xml-stylesheet ?> est fortement déconseillée. Les futures compilations pourraient ne charger une feuille de style XSLT que si <code>media</code> n'est pas spécifié, ou si le <code>media</code> spécifié comporte <code>screen</code>. -</p><p>Ceci n'affecte pas les feuilles de style CSS chargées depuis le DOM généré, qui emploient <code>media</code> comme les pages sans XSLT<b>.</b> -</p> -<h4 id="Comment_faire_transformNode.3F"> Comment faire <code>transformNode</code>? </h4> -<p>Il existe <code>transformToDocument</code> et <code>transformToFragment</code> depuis Mozilla 1.2, voir <a href="fr/Utilisation_de_l'interface_JavaScript_de_Mozilla_pour_les_transformations_XSL">Utilisation de l'interface JavaScript de Mozilla pour les transformations XSL</a>. -</p> -<h4 id="Pourquoi_Internet_Explorer_requiert-il_un_espace_de_nommage_diff.C3.A9rent_de_celui_de_Mozilla_.3F"> Pourquoi Internet Explorer requiert-il un espace de nommage différent de celui de Mozilla ? </h4> -<p>Jusqu'à sa version 6, IE requiert un espace de nommage déprécié issu d'un brouillon XSLT, merci d'utiliser Mozilla ;-), IE6+ ou MSXML3+, qui ne posent pas ce problème. Comme les différences entre XSLT 1.0 et l'implémentation dans IE de ce brouillon sont significatives, nous n'offrons pas de support. -</p> -<h4 id="Comment_compiler_une_version_autonome_de_TransforMiiX_.3F"> Comment compiler une version autonome de TransforMiiX ? </h4> -<p>Voir l'article sur <a href="fr/Compilation_de_TransforMiiX">Compilation de TransforMiiX</a>. -</p>
\ No newline at end of file +Vérifiez que le type MIME du document source et de la feuille de style est bien un type MIME XML, à savoir `text/xml` ou `application/xml`. L'espace de nommage XSLT est `http://www.w3.org/1999/XSL/Transform`. Utilisez l'instruction de traitement `<?xml-stylesheet ?>` plutôt que l'élément non standard `xml:stylesheet`. Le problème le plus courant est la gestion du type MIME. Pour savoir quel type MIME est envoyé par votre serveur, consultez les Informations sur la page, utilisez une extension telle que [LiveHTTPHeaders (en)](http://livehttpheaders.mozdev.org/) ou un gestionnaire de téléchargements comme wget. Mozilla ne chargera pas les feuilles de style XSLT depuis un domaine différent pour des raisons de sécurité. + +#### Cela fonctione dans IE, mais pas dans Mozilla ? + +Il y a plus que cette "simple" différence. Nous suspectons que la plupart des différences proviennent de ce que fait IE après la transformation. IE (pour autant que l'on puisse dire) sérialise et analyse la sortie avant de générer ce qu'il rend. Mozilla, au contraire, rend exactement le résultat du votre transformation. + +#### Puis-je désactiver l'échappement de la sortie avec `disable-output-escaping` ? + +Cette question est en fait très proche de la précédente. Pour faire court, non. Désactiver l'échappement en sortie nécessite que nous ajoutions une étape d'analyse à la génération de notre sortie, ce que nous ne voulons pas. Dans la plupart des cas, il existe des contournements assez facile à mettre en œuvre. Les seuls cas d'utilisation que nous ayons vu jusqu'à présent sont du mauvais XML, du mauvais XSLT, ou les flux RSS. Ce dernier est pour nous le seul problème, et nous sommes désolé de ne pouvoir le supporter, mais mélanger l'analyse avec le XSLT est à risque et nous préférons ne pas le supporter **d-o-e** plutôt que de provoquer des crashes ou de ralentir le processus. + +#### Que dire de `document.write` ? + +Tout comme pour le XHTML, `document.write` n'est pas supporté pendant les transformations XSLT. Malheureusement, les compilations actuelles ne retournent pas d'erreur, mais donnent simplement des résultats inattendus, comme des crashes ({{ Bug(202765) }}). Dans la plupart des cas il n'y a en fait aucune raison de l'utiliser. Si vous avez besoin d'employer du code ou une feuille de style spécifique à une plate-forme, utilisez ce qui suit : + + <xsl:if test="system-property('xsl:vendor')='Transformiix'"> + <!-- Balisage propre à Mozilla --> + </xsl:if> + <xsl:if test="system-property('xsl:vendor')='Microsoft'"> + <!-- Balisage propre à IE --> + </xsl:if> + +Vérifiez system-properties.xml pour les propriétés de votre système favori. MSXML possède une propriété supplémentaire : + + <xsl:if xmlns:msxsl="urn:schemas-microsoft-com:xslt" + test="system-property('msxsl:version')=3"> + <!-- MSXML3 specific markup --> + </xsl:if> + +#### Que dire de `media="print"`? + +Lors de l'impression d'un document, Mozilla tente de produire une page imprimée aussi proche que possible de l'affichage à l'écran, en incluant par exemple le texte saisi dans des champs de formulaire, et tout autre changement dynamique. Pour cela, on imprime l'arbre DOM actuel. Utiliser une feuille de style XSLT spécifique à un `media` particulier requiererait une nouvelle transformation du document XML source original, ce qui pourrait produire une sortie différant de ce à quoi l'utilisateur s'attend. Aussi, l'utilisation de `media` dans \<?xml-stylesheet ?> est fortement déconseillée. Les futures compilations pourraient ne charger une feuille de style XSLT que si `media` n'est pas spécifié, ou si le `media` spécifié comporte `screen`. + +Ceci n'affecte pas les feuilles de style CSS chargées depuis le DOM généré, qui emploient `media` comme les pages sans XSLT**.** + +#### Comment faire `transformNode`? + +Il existe `transformToDocument` et `transformToFragment` depuis Mozilla 1.2, voir [Utilisation de l'interface JavaScript de Mozilla pour les transformations XSL](fr/Utilisation_de_l'interface_JavaScript_de_Mozilla_pour_les_transformations_XSL). + +#### Pourquoi Internet Explorer requiert-il un espace de nommage différent de celui de Mozilla ? + +Jusqu'à sa version 6, IE requiert un espace de nommage déprécié issu d'un brouillon XSLT, merci d'utiliser Mozilla ;-), IE6+ ou MSXML3+, qui ne posent pas ce problème. Comme les différences entre XSLT 1.0 et l'implémentation dans IE de ce brouillon sont significatives, nous n'offrons pas de support. + +#### Comment compiler une version autonome de TransforMiiX ? + +Voir l'article sur [Compilation de TransforMiiX](fr/Compilation_de_TransforMiiX). |