begin process at 2010 07 31 04:59:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > EXÉCUTER UN SCRIPT VB.NET LORS D'UNE TRANSFORMATION XSLT (V2)

EXÉCUTER UN SCRIPT VB.NET LORS D'UNE TRANSFORMATION XSLT (V2)


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :msxml, xslt, xml Niveau :Expert Date de création :29/01/2007 Date de mise à jour :29/01/2007 21:14:08 Vu / téléchargé :8 337 / 151

Auteur : tikrimi

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Lors d’un précédent post (http://www.aspfr.com/codes/EXECUTER-SCRIPT-VB-NET -LORS-TRANSFORMATION-XSLT_34008.aspx), j’avais montré comment exécuter du script vb.net lors d’une transformation Xslt. Cette source fonctionne toujours sur le framework 2.0 en utilisant le contrôle web « xml ».
Par contre si vous faites votre transformation à la main (ce qui est mon cas en ce moment… merce OpenXML), la sécurité par défaut ne permet pas d’exécuter les scripts. Dans la fonction GetXSLTransform, le bout de chose qui change par rapport à une transformation standard est le suivant :

Dim vXsltSettings As XsltSettings = New XsltSettings()
vXsltSettings.EnableScript = True
vXslt.Load(vXsltDocument, vXsltSettings, Nothing)

Je sais que je ne suis pas super clair… que ceux qui sont intéressés par cette technique me comprendront je pense ;-)

Source

  • 'Fonction réaliser la tranformation xslt
  • Public Shared Function GetXSLTransform(ByVal pXmlDocument As XmlDocument, ByVal pXslFile As String) As String
  • 'On charge le fichier XSL dans un XmlDocument
  • Dim vXsltDocument As XmlDocument = New XmlDocument()
  • vXsltDocument.Load(pXslFile)
  • 'Création du lecteur XML
  • Dim vXsltDocumentReader As XmlNodeReader = New XmlNodeReader(pXmlDocument)
  • 'Création du transformateur XSLT
  • Dim vXslt As XslCompiledTransform = New XslCompiledTransform()
  • Dim vXsltSettings As XsltSettings = New XsltSettings()
  • vXsltSettings.EnableScript = True
  • vXslt.Load(vXsltDocument, vXsltSettings, Nothing)
  • 'là où sera enregistré la transformation
  • Dim vStringBuilder As StringBuilder = New StringBuilder()
  • 'paramètre d'écriture du fichier transformé
  • Dim vXmlWriterSettings As XmlWriterSettings = New XmlWriterSettings()
  • 'paramètre un peu spécial, consultez msdn
  • vXmlWriterSettings.ConformanceLevel = ConformanceLevel.Auto
  • Dim vXmlWriter As XmlWriter = XmlWriter.Create(vStringBuilder, vXslt.OutputSettings)
  • vXslt.Transform(vXsltDocumentReader, Nothing, vXmlWriter, New XmlUrlResolver())
  • Return vStringBuilder.ToString()
  • End Function
  • 'Feuille Xslt
  • <?xml version="1.0" encoding="UTF-8"?>
  • <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:mafonction="urn:gadgaillcorporation:mafonction">
  • <xsl:output method="html"/>
  • <xsl:template match="root">
  • <xsl:apply-templates select="name"/>
  • </xsl:template>
  • <xsl:template match="name">
  • <xsl:value-of select="mafonction:Hello(string(.))"/><br/>
  • </xsl:template>
  • <msxml:script language="vb" implements-prefix="mafonction">
  • <![CDATA[
  • Public Function Hello(pName as String) as string
  • return "Bonjour " & pName
  • End Function
  • ]]>
  • </msxml:script>
  • </xsl:stylesheet>
'Fonction réaliser la tranformation xslt

    Public Shared Function GetXSLTransform(ByVal pXmlDocument As XmlDocument, ByVal pXslFile As String) As String

        'On charge le fichier XSL dans un XmlDocument 
        Dim vXsltDocument As XmlDocument = New XmlDocument()
        vXsltDocument.Load(pXslFile)

        'Création du lecteur XML 
        Dim vXsltDocumentReader As XmlNodeReader = New XmlNodeReader(pXmlDocument)

        'Création du transformateur XSLT  
        Dim vXslt As XslCompiledTransform = New XslCompiledTransform()
        Dim vXsltSettings As XsltSettings = New XsltSettings()
        vXsltSettings.EnableScript = True

        vXslt.Load(vXsltDocument, vXsltSettings, Nothing)

        'là où sera enregistré la transformation 
        Dim vStringBuilder As StringBuilder = New StringBuilder()

        'paramètre d'écriture du fichier transformé 
        Dim vXmlWriterSettings As XmlWriterSettings = New XmlWriterSettings()

        'paramètre un peu spécial, consultez msdn 
        vXmlWriterSettings.ConformanceLevel = ConformanceLevel.Auto

        Dim vXmlWriter As XmlWriter = XmlWriter.Create(vStringBuilder, vXslt.OutputSettings)

        vXslt.Transform(vXsltDocumentReader, Nothing, vXmlWriter, New XmlUrlResolver())

        Return vStringBuilder.ToString()

    End Function

'Feuille Xslt

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:mafonction="urn:gadgaillcorporation:mafonction">
	<xsl:output method="html"/>
	<xsl:template match="root">
		<xsl:apply-templates select="name"/>
	</xsl:template>
	<xsl:template match="name">
		<xsl:value-of select="mafonction:Hello(string(.))"/><br/>
	</xsl:template>
	
	<msxml:script language="vb" implements-prefix="mafonction">
		<![CDATA[
		Public Function Hello(pName as String) as string
			return "Bonjour " & pName
		End Function
		]]>
	</msxml:script>
	
</xsl:stylesheet>

 Conclusion

PS : La source de la fonction est de poppyto (http://www.csharpfr.com/codes/TRANSFORMATION-XSLT -NET_33721.aspx).
En fait, c'est cool de faire Intégrateur ;-)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

29 janvier 2007 18:21:34 :
Il manquait une lettre
29 janvier 2007 21:14:08 :
Orthographe

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) CRÉATION D'UN FICHIER EXCEL 2007 EN UTILISANT OPENXML EST XS...
Source avec Zip Source .NET (Dotnet) CRÉATION D'UN FICHIER EXCEL EN UTILISANT OPENXML
Source avec Zip Source .NET (Dotnet) ANALYSE STATIQUE DE CODE AVEC FXCOP
Source avec Zip Source .NET (Dotnet) LIBRAIRIE DE TRADUCTION
Source avec Zip Source .NET (Dotnet) VERSION AJAX DU MENU DE CODES SOURCES

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID... par jesusonline
Source avec Zip Source .NET (Dotnet) CUSTOM DATEPIKER DÉRIVANT DE COMPOSITECONTROL par fredzool

 Sources en rapport avec celle ci

AJOUTER UN NOEUD DANS UN FICHIER XML DÉJÀ EXISTANT par pkzip
Source avec Zip Source avec une capture Source .NET (Dotnet) UN SEMBLANT DE MASTERPAGE POUR DES FICHIERS XSL par bizzard4
Source avec Zip Source avec une capture Source .NET (Dotnet) CRÉATION D'UN FICHIER EXCEL 2007 EN UTILISANT OPENXML EST XS... par tikrimi
Source avec Zip Source .NET (Dotnet) TRANSFORMATION XSLT POUR OBTENIR DU CODE XTML VALIDE À INTÉG... par saizonou
Source avec Zip Source .NET (Dotnet) COMPOSANT XSLT-SQL SERVER par stailer

Commentaires et avis

Commentaire de DeathAngel le 13/04/2007 11:36:09

Salut tikrimi,

Juste une chose : Merci
C'est exactement ce que je cherchais, au commentaire près ^O^

@peluche
DA

Commentaire de apxa le 21/12/2007 11:12:07

Iop,
Peux-tu expliquer le bout de code : xmlns:mafonction="urn:gadgaillcorporation:mafonction"
Ton code est très bien mais n'est pas fonctionnel a cause de :
Impossible de trouver le script ou l'objet externe qui implémente le préfixe 'urn:gadgaillcorporation:mafonction'

Have Fun ;)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

XML (MSXML.DOMDocument) et DOCTYPE... [ par meech ] Bonjour,Je cherche &#224; ajouter une balise d&#233;finissant une DTD (balise DOCTYPE) en utilisant un objet MSXML.DOMDocument. J'ai fouill&#233; dans asp net+There are multiple root elements. [ par jimmy69 ] Bonjour,je bosse avec c# 1.1 webform etj'essayes en vain d'applique une transformation xslt sur un fichier xml issue d'un dataset afin d'obtenir un fi Menu xml+xslt [ par Pkpo ] Bonjour, j'ai fait un menu en xml que je transforme en html grace à du xslt :Mon fichier xml:&lt;?xml version="1.0" encoding="utf-8" ?&gt;&lt;Map&gt;  xslt [ par awata ] Bonjour, svp j'ai besoin d'aide j' ai pas trouver de documents pour la transformation d'un fichier xml vers un fichier xml .Au fait, je veux transform Transformation fichier exel en xml via XSLT [ par stephsk09 ] Ma question se trouve en grand partie dans le titre...j'aimerai avoir quelque information sur comment procéder pour transformer un fichier excel en XM problème xml et xslt [ par c_ensias ] Bonjour &#224; tous et &#224; toutes,J'utilise un filtre xslt pour extraire des donn&#233;es d'un fichier source xml.Mon probl&#232;me est le suivant problème xml et xslt [ par c_ensias ] Bonjour &#224; tous,J'ai un fichier xml dont j'ai appliqu&#233; un filtre xslt pour en extraire des donn&#233;es.Je voudrais que la sortie soit un fic DataSet Typé --> XML utilisant XSLT [ par stephsk09 ] Comment transformer un dataset en un fichier XML devant respecter la structure d'un fichier XSLT ???Merci d'avance de uml vers xml a travers xslt [ par bochradhouib ] bonjour, je veux savoir,svp,comment passer d'un document.xmi vers un autre document .xml a travers un xslt.... Pouvez vous me donner un exemple,ça ser Problème de chargement d'un fichier XML :s [ par khalid220v ] Je suis entrain de développer une application web qui va aller charger un fichier XML présent dans le répertoire App_Data qui est évidement présent d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales