INFO : Plan d'évolution pour l'exécution des Transformations XSLT dans les Applications .NET

Traductions disponibles Traductions disponibles
Numéro d'article: 313997 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article présente une introduction pour présenter les espaces de noms.NET Framework et les classes que vous pouvez utiliser pour exécuter par programme Extensible Transformations de feuilles de style Language Transformation (XSLT) dans les applications .NET. Articles d'introduction proposent des liens vers des informations utiles, y compris la documentation en ligne, les articles de la Base de connaissances Microsoft et livres blancs Microsoft, pour vous aider à en savoir plus sur un produit ou technologie Microsoft.

Cet article n'est pas un didacticiel XSLT. Cet article suppose que vous êtes familiarisé avec le Norme XSLT de World Wide Web Consortium (W3C) et avoir une expérience avec l'écriture de feuilles de style XSLT pour transformer des données XML.

Vue d'ensemble

XSLT est un World Wide Web Consortium (W3C) standard pour la transformation des données XML. XSLT est généralement utilisée pour écrire des feuilles de style pour transformer des données XML dans d'autres formats tels que HTML, fixé le texte de longueur, séparées par des virgules ou un autre format XML.

Du point de vue du développeur, XSLT est un langage de programmation avec une syntaxe XML riche qui implémente les éléments qui correspondent aux éléments pour répondre aux exigences de transformation courantes et constructions de programmation.

Feuilles de style XSLT utilisent fréquemment des requêtes XML Path Language (XPath) pour localiser des n?uds dans le document XML source et d'appliquer des modèles XSLT pour transformer ces n?uds. L'efficacité des requêtes XPath dans une feuille de style XSLT influencent fréquemment et affecter les performances des transformations qui l'utilisent.

À partir d'un point de vue de haut niveau, un processeur XSLT est un composant logiciel qui applique une feuille de style spécifiée à un document XML source spécifié pour exécuter une transformation XSLT et générer la sortie requise.

La sortie finale qui génèrent les transformations XSLT sont généralement des documents de résultats qui présentent les données XML d'origine dans le format cible spécifié.

Écriture de Code dans une Application .NET pour exécuter la Transformation XSLT

Le didacticiel de démarrage rapide suivant et les articles de la Base de connaissances Microsoft montrent comment écrire du code dans une application .NET pour appliquer une feuille de style XSLT à un document XML à exécuter une transformation de base :
307322 Comment : Appliquer une Transformation XSL à un Document XML à l'aide de Visual C# .NET
300929 Comment : Appliquer une Transformation XSL à partir d'un Document XML à un Document XML à l'aide de Visual Basic .NET

L'espace de noms System.Xml.Xsl

La classe XslTransform dans l'espace de noms System.Xml.Xsl implémente le processeur XSLT de.NET Framework. Instances de l'objet de cette classe sont créés et utilisés pour exécuter des transformations XSLT dans les applications .NET. L'implémentation du processeur XSLT dans le.NET Framework est compatible avec la version 1.0 de la Recommandation W3C XSLT.

L'espace de noms System.Xml.Xsl implémente également les classes suivantes pour prendre en charge la gestion des exceptions de XSLT et des options avancées qui sont liées à l'exécution des transformations XSLT et des requêtes XPath :
  • XsltArgumentList. Vous pouvez utiliser des instances d'objet de cette classe pour fournir des instances de l'objet extension et les valeurs de référence et des paramètres XSLT qui définissent les feuilles de style XSLT.
  • XsltCompileException. Cette classe génère l'exception.NET Framework lorsqu'une erreur se produit pendant que vous compilez une feuille de style XSLT. Feuille de style XSLT est compilée lors de l'exécution de la méthode Load d'un objet XslTransform .
  • XsltException. Cette classe génère l'exception.NET Framework lorsqu'une erreur se produit pendant l'exécution d'une transformation XSLT.
  • XsltContext, fonction IXsltContextFunctionn'et variable IXsltContextVariable. Ces avancées des composants sont utilisés pour implémenter un contexte d'exécution de requête XPath personnalisé lorsqu'il est nécessaire pour implémenter et référencer des variables dans les requêtes XPath sont exécutées dans les applications .NET à l'aide de la classe XPathNavigator et les classes de modèle DOM (Document Object Model) et les fonctions définies par l'utilisateur.

    Pour implémenter plus facilement les fonctions définies par l'utilisateur et les variables dans les expressions de requête XPath qui sont incluses dans une feuille de style XSLT, vous pouvez utiliser des blocs de script inline, des objets d'extension et des variables XSLT ou des paramètres.

Fonctionnalités avancées de XSLT

Cette section décrit plusieurs fonctionnalités avancées de XSLT.

Traitement en pipeline des Transformations XSLT

Traitement « pipeline » fait référence au processus de transformation d'un document XML source en appliquant par incréments de deux ou plusieurs feuilles de style XSLT. La sortie qui génère chaque phase intermédiaire est fournie en tant qu'entrée à la phase suivante tout au long de la phase finale, qui ensuite génère la sortie appropriée.

Cette méthode est utile lorsque vous devez conserver la sortie qui génèrent des phases intermédiaires pour traitement supplémentaire n'est pas liée directement dans le processus de transformation.Pour plus d'informations sur cette rubrique et pour un exemple de code qui illustre l'utilisation de son, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
320847 Comment : Pipeline Transformations XSLT dans les Applications .NET

Transformations XSLT paramétrables

Il s'agit d'une pratique courante de XSLT pour définir et utiliser des paramètres dans les feuilles de style. Feuilles de style XSLT paramétrées utilisent l'élément <xsl:param>pour définir les paramètres qui sont référencés dans les expressions de requête XPath pour rechercher et transformer les n?uds dans la source de données XML de manière sélective. Les valeurs pour les paramètres définis, vous pouvez codées en dur dans la feuille de style ou fournies au moment de l'exécution. La pratique de cette dernière de façon dynamique en fournissant des valeurs de paramètre d'entrée pour contrôler le processus de transformation est l'utilisation la plus courante de cette fonctionnalité.

Dans les applications .NET, un objet XsltArgumentList est utilisé pour fournir des valeurs pour les paramètres XSLT au moment de l'exécution. La méthode AddParam est utilisée pour ajouter une paire nom-valeur qui représente un paramètre défini dans la feuille de style et sa valeur à un objet XsltArgumentList . L'objet XsltArgumentList est ensuite fourni en tant que paramètre lors de l'exécution de la méthode Transform de l'objet XslTransform qui est utilisé pour exécuter la transformation.

Méthodes RemoveParam et GetParam sont utilisées pour accéder à et de supprimer des paramètres individuels qui sont ajoutés à un objet XsltArgumentList .</xsl:param>Pour plus d'informations sur la façon d'exécuter la transformation XSLT paramétrée dans les applications .NET, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
321704 Comment : Exécuter des Transformations XSL paramétrées dans les Applications .NET

Blocs de Script inline

Les fonctions de script inline sont une des options que vous pouvez utiliser pour implémenter des fonctions définies par l'utilisateur et les procédures référencées dans les expressions de requête XPath sont utilisées dans une feuille de style XSLT sub. La possibilité d'inclure des blocs de script inline dans les feuilles de style XSLT est une extension du W3C.

Dans le.NET Framework, sous-routines et des fonctions inline personnalisés sont codées dans des blocs de <msxsl:script>dans la feuille de style XSLT. Vous pouvez utiliser un langage de programmation .NET Visual Studio Microsoft tels que Microsoft Visual Basic .NET ou Microsoft Visual C# .NET pour implémenter ces routines.

Un des inconvénients est associé à l'aide de blocs de script inline est qu'ils apportent les feuilles de style XSLT non portable. La technologie, les balises et la sémantique qui est utilisée pour implémenter des blocs de script inline est des extensions spécifiques au fournisseur les spécifications du W3C sur XSLT ne pas normaliser.

Vous ne pouvez utiliser une feuille de style XSLT qui définit et utilise des blocs de script inline avec succès dans les transformations sont exécutées à l'aide d'un processeur XSLT qui peuvent interpréter la sémantique associée et intègrent la technologie qui a pour exécuter le code.

Dans le.NET Framework, les assemblys managés sont créés et chargés implicitement pour exécuter le code contenu dans inline <msxsl:script>blocs de script. Il existe actuellement un problème connu dans la.NET Framework qui empêche ces assemblys de déchargé correctement lorsque le processus de transformation est terminée. Cette anomalie peut entraîner une augmentation de l'utilisation de la mémoire si la feuille de style affecté est chargée à plusieurs reprises pour exécuter des transformations XSLT. La mémoire non commercialisée est libérée que lorsque le processus hôte est recyclé. </msxsl:script></msxsl:script>Pour plus d'informations sur ce problème dans le.NET Framework, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
316775 PRB : Impossible de décharger des assemblys que vous créez et chargez à l'aide de Script dans XSLT
Pour contourner ce problème dans les applications de Microsoft ASP.NET, vous pouvez charger les feuilles de style affecté qu'une seule fois pendant la durée de vie de l'application, mettre en cache les feuilles de style affecté (dans le cache ASP.NET) et réutiliser les versions mises en cache pour les transformations par la suite.

Dans Windows Forms et applications de Console, vous pouvez utiliser des instances d'objet XslTransform globales pour charger les feuilles de style affecté au démarrage de l'application et d'exécuter des transformations ultérieures. Ces solutions de contournement ne s'appliquent pas lorsque les transformations XSLT doivent être exécutées dans des environnements sans état (par exemple, avec des composants de Services d'entreprise intermédiaire).

Microsoft vous recommande d'utiliser des objets d'extension XSLT pour mettre en ?uvre des fonctions d'extension XPath personnalisées pour contourner ce problème.

Objets d'Extension XSLT

Microsoft vous recommande d'utiliser les objets d'Extension pour implémenter des sous-routines personnalisés et les fonctions qui sont référencées dans les expressions de requête XPath sont utilisées dans une feuille de style XSLT.

Vous pouvez créer des DLL de.NET Framework pour implémenter et utiliser les objets d'Extension lors de l'exécution de transformations dans les applications .NET. Les fonctions et sous-routines personnalisées sont implémentées dans une DLL, et une instance d'objet du composant DLL est fournie sous la forme d'un paramètre d'exécution à l'aide d'un objet XsltArgumentList lorsque vous exécutez la méthode de transformation d'un objet XslTransform .

La méthode AddExtensionObject de la classe XsltArgumentList est utilisée pour ajouter une instance d'objet Extension à un objet XsltArgumentList . Vous pouvez utiliser Get et les méthodes de suppression de l'objet d'Extension pour accéder et supprimer une instance d'objet d'Extension est ajoutée à un objet XsltArgumentList .

La spécification du W3C sur XSLT résout le concept et l'utilisation des éléments de l'Extension et fonctions sans qu'aucun non-respect ou faire référence à la technologie de base qui vous permet de les implémenter. Vous devez définir et utiliser des préfixes d'espace de noms XML pour les normes dans les feuilles de style pour référencer des fonctions et des sous-routines qui sont implémentées dans les objets d'Extension. Fournisseurs peuvent sélectionner une technologie est mieux adaptée à leur plate-forme pour traiter les aspects de mise en ?uvre des objets d'Extension.Pour plus d'informations sur le concept et l'utilisation des objets d'Extension XSLT dans le.NET Framework et les étapes créer une application de bout en bout qui montre comment utiliser les objets d'Extension lorsque vous exécutez des transformations XSLT dans les applications .NET, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
321702 Comment : Utiliser des objets d'Extension lors de l'exécution de Transformations XSL dans des Applications .NET Visual Basic

Instructions générales pour l'utilisation des Classes de.NET Framework pour exécuter des Transformations XSLT

  • La classe XPathDocument est hautement optimisée pour le traitement XSLT et XPath. Pour des performances optimales, utilisez toujours un objet XPathDocument pour fournir le code XML source pendant l'exécution d'une transformation XSLT.
  • Vous pouvez mettre en cache et réutiliser les objets XslTransform qui sont utilisés pour charger les feuilles de style XSLT qui sont fréquemment utilisés pour exécuter des transformations ultérieures.
  • Le processeur XSLT ne met pas automatiquement cache instances d'objet d'Extension sont utilisés dans les transformations XSLT. Vous pouvez mettre en cache et réutiliser les objets de classe XsltArgumentList sont utilisés pour fournir des instances de l'objet Extension pour les feuilles de style XSLT fréquemment utilisées lors de l'exécution de transformations ultérieures. Il s'agit de la méthode aux objets d'Extension du cache sont utilisées dans les transformations XSLT dans le.NET Framework.
  • Feuille de style XSLT qui implémente des blocs de script inline doit uniquement être chargée une seule fois et mis en cache. Vous devez réutiliser l'objet XslTransform mis en cache pour les transformations ultérieures. Vous pouvez utiliser cette application pratique pour surmonter le problème de gestion de mémoire qui est décrite dans l'article de la Base de connaissances Microsoft Q316775 lorsque vous devez utiliser les fonctions de script inline dans une feuille de style.
  • Microsoft vous recommande d'utiliser les objets d'Extension pour implémenter des fonctions personnalisées qui sont référencées dans les expressions de requête XPath sont utilisées dans les feuilles de style XSLT. Implémentation de classes personnalisées de XsltContext, fonction IXsltContextFunctionn'et variable IXsltContextVariable uniquement lorsque vous disposez d'implémenter et de faire référence à des fonctions d'extension personnalisées dans les expressions de requête XPath sont exécutées dans les applications .NET à l'aide de XPathNavigator et les classes DOM.
  • Implémentez le code pour gérer la XsltCompileExceptionXsltExceptionet les classes d'exception XmlException .NET Framework lorsque vous écrivez du code pour exécuter des transformations XSLT de gestion des exceptions. Ces classes d'exceptions fournissent des informations sur tous les problèmes spécifiques de XSLT ou XML spécifiques qui se produisent lorsque vous essayez d'exécuter une transformation XSLT. En outre, Microsoft vous recommande d'implémenter le code pour gérer les autres exceptions.NET Framework spécifiques et implémentation de la classe System.Exception générique, basée sur la fonctionnalité d'autre, non lié à la XSLT qui est implémentée dans le bloc de code qui exécute la transformation XSLT.

Performances des Transformations XSLT dans le.NET Framework

Pour plus d'informations sur les causes et solutions pour les problèmes de performance connus lorsque vous exécutez des transformations XSLT dans les applications .NET, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
325689 INFO : Performances des Transformations XSLT dans le.NET Framework

Résolution des problèmes

Si vous rencontrez des problèmes ou si vous avez des questions, vous pouvez faire référence à la Groupes de discussion MSDN où vous pouvez partager vos expériences avec vos pairs. Vous pouvez également utiliser la Base de connaissances Microsoft où vous pouvez rechercher des articles sur les problèmes spécifiques ou contactez le Support technique Microsoft.
Groupes de discussion MSDN
http://msdn.Microsoft.com/newsgroups/

Recherche dans la Base de connaissances
http://support.Microsoft.com/Search

Services de Support technique Microsoft
http://support.Microsoft.com

Références

Pour plus d'informations % 1, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
313651 INFO : Guide pour XML dans le.NET Framework

Propriétés

Numéro d'article: 313997 - Dernière mise à jour: mercredi 24 octobre 2012 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Mots-clés : 
kbarttyperoadmap kbinfo kbmt KB313997 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 313997
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com