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...>.
Les Propriétés<xsl:param name="Parametre"/> <xsl:value-of select="//Element[$Parametre]"/> Objet_Processor.addParameter "Parametre", Valeur
| 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. |
| 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. |
<%
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
%> |