L'objet IXSLTemplate est utilisé pour les modèles XSLT(Extensible Stylesheet Language Transformations) cachées.
Set Objet_Template = _ Server.CreateObject("MSXML2.XSLTemplate")
Avant la version 2.6 de l'analyseur XML de Microsoft, chaque appel vers la méthode transformNode ou transformNodeToObject devait recompiler la feuille de style car celle-ci était simplement passée comme un objet IXMLDOMNode. Désormais, il est possible d'augmenter le performances en cachant la feuille de style compilée et en la réutilisant avec l'objet IXSLTemplate.
Pour mettre en cache une feuille de style compilée, il faut la charger à l'intérieur d'un objet IXSLTemplate. Ce-dernier est une unité d'exécution libre (free-threaded) et est apatride, ainsi il peut être stocké dans l'état d'application ASP partagé. Alors pour transformer un document donné employant ce modèle, il est nécessaire de créer un objet IXSLProcessor employant la méthode createProcessor. L'objet IXSLProcessor stocke l'état pour que celui-ci transforme l'appel et possède un modèle rental-threading.
Les PropriétésSet Objet_Style = _ Server.CreateObject("MSXML2.FreeThreadedDOMDocument") Objet_Style.Load "style.xsl" Set Objet_Template.stylesheet = Objet_Style Set Objet_Processor = Objet_Template.createProcessor() Objet_Processor.input = Objet_Document Objet_Processor.Transform Response.Write Objet_Processor.output
Propriété |
---|
Description |
Set Objet_Node = Objet_Template.stylesheet |
fournit les feuilles de style XSL à compiler à l'intérieur d'un modèle XSL. |
Méthode |
---|
Description |
Set Objet_Processor = Objet_Template.createProcessor |
crée un objet XSLProcessor de modèle de location qui utilise le IXSLTemplate. |
<% 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") Set Objet_Erreur = Objet_Document.parseError If Objet_Erreur.errorCode <> 0 Then Response.Write "<h3>Le chargement a échoué.</h3>" _ & "<br>Une erreur d'analyse s'est produite." _ & "<br>Code : " & Objet_Erreur.errorCode _ & "<br>Raison : " & Objet_Erreur.reason _ & "<br>Texte : " & Objet_Erreur.srcText _ & "<br>URL : " & Objet_Erreur.url _ & "<br>Position : " & Objet_Erreur.filePos _ & "<br>Ligne : " & Objet_Erreur.line _ & "<br>Colonne : " & Objet_Erreur.linePos Else 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 End If Set Objet_Document = Nothing Set Objet_Style = Nothing Set Objet_Template = Nothing Set Objet_Processor = Nothing %> |