Partager via


Classe System.Xml.Xsl.XslCompiledTransform

Cet article fournit des remarques supplémentaires à la documentation de référence de cette API.

La XslCompiledTransform classe est un processeur XSLT qui prend en charge la syntaxe XSLT 1.0. Il s’agit d’une nouvelle implémentation et inclut des gains de performances par rapport à la classe obsolète XslTransform . La structure de la XslCompiledTransform classe est très similaire à la XslTransform classe. La Load méthode charge et compile la feuille de style, tandis que la Transform méthode exécute la transformation XSLT.

La prise en charge de la fonction XSLT document() et des blocs de script incorporés est désactivée par défaut. Ces fonctionnalités peuvent être activées en créant un XsltSettings objet et en le transmettant à la Load méthode.

Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

Considérations relatives à la sécurité

Lors de la création d’une application qui utilise la XslCompiledTransform classe, vous devez connaître les éléments suivants et leurs implications :

  • Le script XSLT est désactivé par défaut. Le script XSLT ne doit être activé que si vous avez besoin d’une prise en charge de script et que vous travaillez dans un environnement entièrement approuvé.

  • La fonction XSLT document() est désactivée par défaut. Si vous activez la document() fonction, limitez les ressources accessibles en passant un XmlSecureResolver objet à la Transform méthode.

  • Les objets d’extension sont activés par défaut. Si un objet contenant des XsltArgumentList objets d’extension est passé à la Transform méthode, ils sont utilisés.

  • Les feuilles de style XSLT peuvent inclure des références à d’autres fichiers et blocs de script incorporés. Un utilisateur malveillant peut l'exploiter en vous fournissant des données ou des feuilles de style qui, une fois exécutées, peuvent amener votre système à traiter jusqu'à épuisement des ressources de l'ordinateur.

  • Les applications XSLT qui s’exécutent dans un contexte de confiance mixte peuvent mener à une attaque par contrefaçon de feuille de style. Par exemple, un utilisateur malveillant peut charger un objet avec une feuille de style dangereuse et le remettre à un autre utilisateur qui appelle ensuite la Transform méthode et exécute la transformation.

Ces problèmes de sécurité peuvent être atténués en n’activant pas le script ou la document() fonction, sauf si la feuille de style provient d’une source approuvée et en n’acceptant XslCompiledTransform pas d’objets, de feuilles de style XSLT ou de données sources XML provenant d’une source non approuvée.