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 %> |