L'objet IXSLProcessor est utilisé pour les transformations des documents XML à l'aide de feuilles de style XSLT compilées.

Set Objet_Processor = Objet_Template.createProcessor()

La méthode createProcessor de l'objet IXSLTemplate retourne un objet IXSLProcessor.

L'objet IXSLProcessor charge le document XML contenant les données d'entrée par la méthode input.

Objet_Processor.input = Objet_Document

Le processeur possède une méthode transform qui applique les transformations imposées par la feuille de style XSLT préalablement définie dans l'objet IXSLTemplate

Objet_Processor.transform

Enfin, il écrit le résultat dans le flux de sortie spécifié par la méthode output.

Response.Write Objet_Processor.output

Le processeur XSL est complétement indépendant des méthodes transformNode et transformNodeToObject de l'objet DOMDocument. En particulier, lors d'une transformation XML en utilisant l'objet IXSLProcessor, l'événement ontransformnode n'est pas renvoyé sur le DOMDocument.

L'objet IXSLProcessor possède la capacité de passer des valeurs aux paramètres d'une feuille de style définis par <xsl:param...>.

<xsl:param name="Parametre"/>
<xsl:value-of select="//Element[$Parametre]"/>

Objet_Processor.addParameter "Parametre", Valeur
Les Propriétés
Propriété
Description
Set Objet_Node = Objet_Processor.input
indique quelle arborescence d'entrée XML est à transformer.
Set Objet = Objet_Processor.output Objet_Processor.output(output)
fournit un objet de sortie coutumier pour écrire le résultat de la transformation.
Valeur = Objet_Processor.readyState
retourne l'état actuel du processeur.
Objet_XSLProcessor.startMode(Mode)
retourne la partie du mode de démarrage de la base du nom.
espace_nom = Objet_Processor.startModeURI
retourne la partie du mode de démarrage l'adresse URI de l'espace de noms.
Set Objet_Node = Objet_Processor.stylesheet
fournit a feuille de style XSL qui doit être compilée à l'intérieur d'un modèle XSL.
Set Objet_Template = Objet_Processor.ownerTemplate
retourne le moèle de feuille de style qui était utilisé pour créer l'objet IXSLProcessor.
Les Propriétés
Propriété
Description
Objet_Processor.addObject(obj, namespaceURI)
permet de passer des objets à une feuille de style XSL.
Objet_Processor.addParameter(baseName, parameter, namespaceURI)
permet de passer des variables vers une feuille de style XSL.
Objet_Processor.reset
réinitialise l'état du processeur à ce qu'il était avant l'appel de transformation.
Objet_Processor.setStartMode(mode, namespaceURI)
permet d'exécuter des sous-ensembles d'une grande transformation XSL.
true | False = Objet_Processor.transform
démarre le processus de transformation ou reprend une transformation qui a retourné précédemment VARIANT_FALSE.
Exemple [voir]
<%
  Dim Objet_Document
  Dim Objet_Style
  Dim Objet_Template
  Dim Objet_Processor

  Set Objet_Document = Server.CreateObject("MSXML2.DOMDocument")
  Set Objet_Style = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
  Set Objet_Template = Server.CreateObject("MSXML2.XSLTemplate")

  Objet_Document.async = False
  Objet_Document.Load Server.mapPath("logitheque.xml")

  Objet_Style.async = False
  Objet_Style.Load Server.mapPath("logitheque.xsl")
  Set Objet_Template.stylesheet = Objet_Style

  Set Objet_Processor = Objet_Template.createProcessor()
  Objet_Processor.input = Objet_Document
  Objet_Processor.addParameter "num", 6
  Objet_Processor.Transform
  Response.Write Objet_Processor.output

  Set Objet_Document = Nothing
  Set Objet_Style = Nothing
  Set Objet_Template = Nothing
  Set Objet_Processor = Nothing
%>