aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/api/xsltprocessor/index.md
blob: 27da398efa7a8a948c2d44fb55c9173f595e3128 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
---
title: XSLTProcessor
slug: Web/API/XSLTProcessor
tags:
  - API
  - DOM
  - DOM Reference
  - Reference
  - TopicStub
  - XSLT
translation_of: Web/API/XSLTProcessor
---
{{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)