Liaisons de paramètres XSLT
Dernière modification : jeudi 21 octobre 2010
S’applique à : SharePoint Foundation 2010
Les feuilles de style XSLT dans Microsoft SharePoint Foundation 2010 réutilisent les chaînes de ressources globales existantes habituellement utilisées dans les affichages Langage CAML (Collaborative Application Markup Language), dont vous pouvez vous servir dans le fichier XSLT personnalisé. Par exemple, le fichier main.xsl, qui déclare explicitement des paramètres utilisables dans le fichier XSLT, comprend le paramètre Boolean suivant qui indique si la liste actuelle est une bibliothèque de documents : <xsl:param name="IsDocLib"/>. Si vous importez main.xsl dans une feuille de style, vous pouvez retourner la valeur de ce paramètre en faisant précéder le nom d’un signe dollar ($), comme suit : <xsl:if test="$IsDocLib">.
En outre, SharePoint Foundation utilise des liaisons de paramètre afin que les ressources soient disponibles pour les transformations XSLT. Pour qu’une ressource soit utilisable dans le fichier XSLT, vous pouvez la définir dans un fichier .resx, la lier à un affichage en la déclarant dans la section <ParameterBindings> du fichier Schema.xml de la liste, puis la consommer dans votre fichier XSLT personnalisé. Vous pouvez également ajouter par programme une liaison de paramètre par le biais du modèle objet.
Pour plus d’informations sur la liaison de ressources à des affichages à l’aide de paramètres, voir Liaisons de paramètres XSLT.
Emplacements des ressources
Vous pouvez mettre des chaînes de ressources à la disposition des transformations XSLT de deux façons :
en tant que paramètres de feuille de style (<xsl:param>) récupérés par le biais de balises <ParameterBinding> dans le composant WebPart (voir ParameterBinding) ;
en tant qu’expressions XPath utilisées dans des balises <xsl:value-of>.
L’élément ParameterBinding comprend un attribut Location qui spécifie des types de ressources. La syntaxe de cet élément est similaire à la syntaxe de l’expression de la liaison de ressource ASP.NET :
<ParameterBinding Name="parameterName" Location="Resource(resourceFile,resourceName)" />
La valeur Location est exprimée en tant que fonction possédant les paramètres suivants :
Paramètre |
Valeur |
---|---|
resourceFile |
Nom de base d’un fichier de ressources SharePoint Foundation, sans l’extension. Par exemple : wss ou core. |
resourceName |
Nom de la chaîne de ressources. Par exemple : string1. |
Outre spécifier une ressource localisée dans un fichier .resx, vous pouvez utiliser l’attribut Location pour spécifier des valeurs pour les contextes répertoriés dans le tableau suivant.
Contexte |
Format |
---|---|
Chaînes de requêtes |
<ParameterBinding Name="SelectedID" Location="QueryString(SelectedID)"/>Code correspondant en XSL : <xsl:param name="SelectedID"/> |
Connexion/publication |
<ParameterBinding Name="dvt_firstrow" Location="Postback;Connection"/> |
Variables de serveur |
(Location="Form(variableName)") |
Propriétés des composants WebPart |
(Location="WPProperty(PropertyValue") |
ID de contrôle |
(Location="Control(ControlID)") |
Vous pouvez utiliser le modèle objet serveur pour ajouter une liaison de paramètre à la collection de liaisons pour un objet XsltListViewWebPart par le biais de la propriété ParameterBindings du composant WebPart ou par le biais de la propriété ParameterBindings de l’objet SPView associé au composant WebPart. Toutefois, vous pouvez également, de façon déclarative, ajouter une balise <ParameterBinding> à la section <ParameterBindings> d’un élément View dans le fichier Schema.xml d’une liste pour déclarer une liaison de paramètre à utiliser dans le fichier XSLT. Par exemple, la balise suivante permet, en l’absence d’éléments, d’afficher une chaîne dans les affichages de listes de bibliothèques de documents :
<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noitemsinview_doclibrary)" />
Dans l’exemple, NoAnnouncements est le nom de la ressource à utiliser dans le fichier XSLT, wss désigne le nom du fichier contenant la ressource (extension exclue), tandis que noitemsinview_doclibrary correspond au nom de la ressource telle qu’elle est représentée dans le fichier de ressources.
Une fois que la balise <ParameterBinding> a été ajoutée à la collection <ParameterBindings> sur le composant WebPart, elle devient disponible pour la feuille de style XSLT grâce à la définition d’une balise <xsl:param> de niveau supérieur de même nom :
<xsl:param name="NoAnnouncements"/>
Vous pouvez ensuite consommer la ressource en utilisant une expression XPath n’importe où dans la feuille de style, comme l’illustre la syntaxe suivante : <xsl:value-of select="$NoAnnouncements" />
Expressions de ressources XPath
Pour récupérer les ressources, SharePoint Foundation recourt à une syntaxe XPath spéciale interprétée par l’objet XPathNavigator utilisé par l’objet XsltListViewWebPart lors de l’exécution de la transformation. La syntaxe est spécifiée comme suit, où le paramètre resourceFile et le paramètre resourceName ont la même signification que celle indiquée précédemment.
<xsl:value-of select="@Resources.resfile.resname" />
L’exemple suivant récupère la même ressource que l’exemple précédent :
<xsl:value-of select="@Resources.wss.noitemsinview_doclibrary" />
Notes
Étant donné qu’un nom de champ interne SharePoint Foundation ne peut pas contenir de point (« . »), une expression de ressource ne peut pas être confondue avec une référence de champ normale.
Voir aussi
Concepts
XsltListViewWebPart et affichages de liste personnalisés
Vue d’ensemble du système de rendu d’affichage Liste XSLT
Schéma d’affichage CAML et XMLDefinition
Procédure : implémenter des ressources dans des affichages de liste personnalisés