Présentation des fichiers Schema.xml

Dernière modification : mercredi 2 février 2011

S’applique à : SharePoint Foundation 2010

Dans cet article
Tâches de définition de liste avec Schema.xml
Format de fichier
Modèles de listes

Chaque définition de liste qui s’affiche en tant qu’option sur la page Création dispose d’un fichier Schema.xml qui se trouve dans un sous-dossier de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES ou qui est déployé dans le cadre d’une solution en bac à sable. Ce fichier définit les vues, les formulaires, la barre d’outils et des champs spéciaux pour les listes qui sont créées par le biais de la définition de liste.

Tâches de définition de liste avec Schema.xml

Vous pouvez effectuer les tâches suivantes dans un fichier Schema.xml pour personnaliser une définition de liste :

  • Ajouter des champs personnalisés basés sur les types de champs de base définis dans FldTypes.xml (vous ne pouvez pas créer de types de champs de base personnalisés.)

  • Créer un affichage personnalisé pour les listes créées via la définition de liste

  • Spécifier des pages de formulaire personnalisées pour utiliser des éléments de liste

  • Spécifier la description par défaut qui est affichée pour la liste dans l'interface utilisateur

Note AttentionAttention

Apporter des modifications à un fichier Schema.xml initialement installé sur un serveur exécutant Microsoft SharePoint Foundation peut endommager les listes existantes. Ces modifications peuvent ne pas être conservées lorsque vous installez les mises à jour ou Service Packs pour SharePoint Foundation ou bien, lorsque vous mettez à niveau une installation vers la version ultérieure du produit. Créez une fonctionnalité de définition de liste personnalisée au lieu de modifier les fichiers de schéma d’origine. Pour plus d’informations, voir Procédure : créer une définition de liste personnalisée.

Format de fichier

List, élément

L’élément List de niveau supérieur spécifie le nom interne et le nom complet de la définition de liste, ainsi que l’orientation du texte utilisé dans les listes et l’URL relative du site à partir duquel les listes sont créées.

Notes

Dans tous les exemples de code XML de cette rubrique, les chaînes qui commencent par « $Resources » sont des constantes définies dans un fichier .resx dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Resources.

<List 
  xmlns:ows="Microsoft SharePoint" 
  Title="Tasks" 
  FolderCreation="FALSE" 
  Direction="$Resources:Direction;" 
  EnableContentTypes="TRUE" 
  Url="Lists/Tasks" 
  BaseType="0">

Comme la plupart des attributs de l’élément List dans Schema.xml, la spécification de l’URL relative du site est en grande partie sans importance car elle est substituée par les paramètres de liste dans le fichier Onet.xml de la définition de site. Cet élément spécifie éventuellement Microsoft SharePoint comme espace de noms XML. L’attribut BaseType spécifie un type de liste de base qui est défini dans l’élément BaseTypes d’un fichier Onet.xml. Utilisez l’attribut VersioningEnabled pour indiquer si le contrôle de version est activé par défaut pour les bibliothèques de documents créées à l’aide de la définition de liste.

MetaData, élément

Les groupes d'éléments MetaData répertorient les métadonnées dans l'élément List et peuvent contenir les sous-éléments suivants.

ContentTypes, élément

L'élément ContentTypes spécifie les types de contenu à associer aux listes créées par le biais de la définition de liste.

<MetaData>
  <ContentTypes>
    <ContentTypeRef ID="0x0108">
      <Folder TargetName="Task" />
    </ContentTypeRef>
    <ContentTypeRef ID="0x0120" />
    <ContentTypeRef ID="0x012004" />
  </ContentTypes>

Fields, élément

L'élément Fields contient des définitions de champ pour des champs spéciaux qui peuvent être requis dans une définition de liste.

<Fields>
  <Field 
    ID="{c3a92d97-2b77-4a25-9698-3ab54874bc6f}" 
    Name="Predecessors" 
    Type="LookupMulti" 
    Mult="TRUE" 
    Required="FALSE" 
    DisplayName="$Resources:core,Tasks_Predecessors;" 
    StaticName="Predecessors" 
    List="Self" 
    ShowField="Title" 
    DisplaceOnUpgrade="TRUE" 
    SourceID="https://schemas.microsoft.com/sharepoint/v3">
  </Field>
  <Field 
    ID="{a8eb573e-9e11-481a-a8c9-1104a54b2fbd}" 
    Type="Choice" 
    Name="Priority" 
    DisplayName="$Resources:core,Priority;" 
    SourceID="https://schemas.microsoft.com/sharepoint/v3" 
    StaticName="Priority">
    <CHOICES>
      <CHOICE>$Resources:core,Priority_High;</CHOICE>
      <CHOICE>$Resources:core,Priority_Normal;</CHOICE>
      <CHOICE>$Resources:core,Priority_Low;</CHOICE>
    </CHOICES>
    <MAPPINGS>
      <MAPPING Value="1">$Resources:core,Priority_High;</MAPPING>
      <MAPPING Value="2">$Resources:core,Priority_Normal;</MAPPING>
      <MAPPING Value="3">$Resources:core,Priority_Low;</MAPPING>
    </MAPPINGS>
    <Default>$Resources:core,Priority_Normal;</Default>
  </Field>
  ...
  <Field  
    ID="{d2311440-1ed6-46ea-b46d-daa643dc3886}" 
    Type="Number" 
    Name="PercentComplete" 
    Percentage="TRUE" 
    Min="0" 
    Max="1" 
    DisplayName="$Resources:core,Percent_Complete;" 
    SourceID="https://schemas.microsoft.com/sharepoint/v3" 
    StaticName="PercentComplete">
  </Field>
  <Field 
    ID="{53101f38-dd2e-458c-b245-0c236cc13d1a}" 
    Type="User" 
    List="UserInfo" 
    Name="AssignedTo" 
    DisplayName="$Resources:core,Assigned_To;" 
    SourceID="https://schemas.microsoft.com/sharepoint/v3" 
    StaticName="AssignedTo">
  </Field>
  ...
</Fields>

Chaque élément Field spécifie un nom complet (DisplayName), un nom interne (Name), un type de champ (Type) et d’autres propriétés selon vos besoins, qui sont définis dans le fichier FldTypes.xml sur lequel est basé le champ.

Pour une tâche de programmation qui montre comment ajouter un champ personnalisé à un fichier Schema.xml, voir Procédure : créer une définition de liste personnalisée.

Views, élément

L'élément Views contient les définitions des vues qui sont disponibles par défaut lorsqu'une liste est créée.

Notes

SharePoint Foundation 2010 utilise XSLT pour définir les affichages de liste, et le schéma d’affichage est conservé pour des raisons de compatibilité descendante. Pour plus d’informations sur les affichages de liste XSLT, voir Affichages de liste.

<Views>
  ...
  <View 
    BaseViewID="2" 
    Type="HTML" 
    WebPartZoneID="Main" 
    DisplayName="$Resources:core,My_Tasks;" 
    MobileView="True" 
    MobileDefaultView="True" 
    SetupPath="pages\viewpage.aspx" 
    ImageUrl="/_layouts/images/issues.png" 
    Url="MyItems.aspx" 
    ReqAuth="TRUE">
  <XslLink Default="TRUE">main.xsl</XslLink>
  <RowLimit Paged="TRUE">30</RowLimit>
  <Toolbar Type="Standard" />
  <ViewFields>
    <FieldRef Name="LinkTitle"></FieldRef>
    <FieldRef Name="Status"></FieldRef>
    <FieldRef Name="Priority"></FieldRef>
    <FieldRef Name="DueDate"></FieldRef>
    <FieldRef Name="PercentComplete"></FieldRef>
  </ViewFields>
  <ParameterBindings>
    <ParameterBinding 
      Name="NoAnnouncements" 
      Location="Resource(wss,noXinviewofY_LIST)" />
    <ParameterBinding 
        Name="NoAnnouncementsHowTo" 
        Location="Resource(wss,noXinviewofY_DEFAULT)" />
  </ParameterBindings>
  <Query>
    <Where>
      <Eq>
        <FieldRef Name="AssignedTo"></FieldRef>
        <Value Type="Integer">
          <UserID />
        </Value>
      </Eq>
    </Where>
    <OrderBy>
      <FieldRef Name="Status"></FieldRef>
      <FieldRef Name="Priority"></FieldRef>
    </OrderBy>
  </Query>
</View>
  ...
</Views>

Chaque élément View spécifie le type de format utilisé dans l’affichage (généralement HTML) et un ID unique pour l’affichage. Lorsque l’affichage apparaît dans un composant WebPart, l’élément View spécifie aussi le titre de l’affichage. L’attribut Url sert à spécifier le nom de base de la page ASPX dans laquelle la vue est affichée lors de la création de la liste. View spécifie également l’ID de zone WebPart du composant WebPart dans lequel l’affichage apparaît.

Dans SharePoint Foundation, l’élément View contient des sous-éléments qui définissent différentes parties d’un affichage :

  • L’élément Aggregations définit les références de champ pour les colonnes calculées.

  • L’élément XslLink spécifie un fichier XSL qui définit les différentes parties d’un affichage, y compris, par exemple, l’en-tête, le corps et le pied de page. Il définit également les sections de regroupement, les ensembles de lignes qui définissent l’affichage des éléments lorsque le nombre dépasse la limite des lignes et les sections vides de l’affichage.

  • L’élément RowLimit spécifie une limite pour le nombre de lignes, ou d’éléments, à afficher.

  • L’élément Toolbar définit la zone de barre d’outils qui est affichée au-dessus des listes.

  • L’élément ViewFields spécifie les champs affichés dans l’affichage.

  • L’élément ParameterBindings spécifie les chaînes de ressources à implémenter dans XSLT. Pour plus d’informations, voir Liaisons de paramètres XSLT.

  • L’élément Query définit un filtre pour l’affichage.

Forms, élément

L’élément Forms contient des références aux formulaires utilisés lorsque des utilisateurs se servent d’éléments de liste individuels.

<Forms>
  <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
  <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
  <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
</Forms>

Chaque élément Form spécifie le type de formulaire, qui peut être DisplayForm, EditForm ou NewForm, ainsi que le nom de la page ASPX utilisée pour le formulaire et l’ID de zone WebPart du composant WebPart dans lequel le formulaire est affiché sur la page.

DefaultDescription, élément

Un élément DefaultDescription spécifie la description qui est affichée pour la définition de liste dans l'interface utilisateur.

<DefaultDescription>$Resources:core,camlidT13;</DefaultDescription>

Cet élément est remplacé par l’attribut Description de l’élément List qui correspond à la définition de liste actuelle spécifiée dans une configuration dans Onet.xml.

Important

Une valeur doit être spécifiée pour cet élément dans les définitions de liste personnalisées.

Modèles de listes

Les utilisateurs créent des modèles de listes personnalisés dans la page Enregistrer en tant que modèle pour une liste ou par le biais d’un code qui recourt à la méthode SaveAsTemplate de la classe Microsoft.SharePoint.SPList. Lorsqu’un modèle de liste est enregistré, il est stocké en tant que fichier .stp dans la galerie de modèles de listes du site de niveau supérieur d’une collection de sites. Les modèles de listes sont disponibles pour tous les sites de la collection de sites qui dérivent des mêmes langue et définition de site que le site sur lequel la liste a été initialement créée. Pour qu’un modèle de liste soit disponible pour un site dans une autre collection de sites, téléchargez le modèle à partir de sa galerie actuelle, puis téléchargez-le vers la galerie de la nouvelle collection de sites.

Voir aussi

Concepts

Schéma de liste

Instance de liste

Types de site : modèles Web et définitions de site

Autres ressources

Affichages de liste