Salut,

j'essai depuis hier d'insérer du code C# dans une de mes pages sharepoint convertie au préalable en XSLT avec SP Designer (je suis sous MOSS 2007) mais je n'y arrive pas, Sharepoint Designer m'affiche :

"Echec de la définition de la feuille de style du processeur : 0x80004005 : Les paramètres de sécurité n'autorisent pas l'exécution du code de script au sein de cette feuille de style."

Pourtant il me semble avoir tout fait correctement :

1- J'ai modifié le web.config en ajoutant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
    <SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="false">
 
        <PageParserPaths>
            <PageParserPath VirtualPath="/monsite/Lists/Maliste/*.aspx" CompilationMode="Always" AllowServerSideScript="true" />
        </PageParserPaths>
 
    </SafeMode>
2- J'ai modifié le xsl:stylesheet de ma page en y ajoutant xmlns:user="http://monserveur/monsite" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<xsl:stylesheet version="1.0" exclude-result-prefixes="rs z o s ddwrt dt msxsl cs" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:cs="urn:the-xml-files:xslt-csharp" xmlns:user="http://monserveur/monsite"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns:SharePoint="Microsoft.SharePoint.WebControls" ... >
3- J'ai ajouté ma variable ensuite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 <xsl:variable name="fragment">
    <authorlist>
       <author>Joe</author>
    </authorlist>
</xsl:variable>
4- Et pour finir, j'ai ajouté entre 2 templates :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
    <msxsl:script language="C#" implements-prefix="user">
<![CDATA[
   string NodeFragment(XPathNavigator nav)
   {
      if (nav.HasChildren)
        return nav.Value;
      else
        return "";
   }
]]>
</msxsl:script>
 
 
<xsl:template match="/">
     <xsl:value-of select="user:NodeFragment($fragment)"/>
</xsl:template>
Est-ce que quelqu'un parmi vous a des pistes pour résoudre mon problème?
Ce serait super sympa.

Merci par avance à ceux qui m'apporteront leur aide.

A+