Grundlegendes zu "Schema.XML"-Dateien

Letzte Änderung: Mittwoch, 2. Februar 2011

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Mithilfe von "Schema.xml" ausführbare Listendefinitionsaufgaben
Dateiformat
Listenvorlagen

Jede Listendefinition, die als Option auf der Seite Erstellen angezeigt wird, weist eine Datei mit dem Namen Schema.xml auf, die sich in einem Unterordner von %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES befindet oder als Teil einer Sandkastenlösung bereitgestellt wird. Die Datei Schema.xml definiert die Ansichten, Formulare, Symbolleiste und Spezialfelder für Listen, die anhand der Listendefinition erstellt werden.

Mithilfe von "Schema.xml" ausführbare Listendefinitionsaufgaben

Sie können die folgenden Arten von Aufgaben in einer Schema.xml-Datei zum Anpassen einer Listendefinition durchführen:

  • Hinzufügen benutzerdefinierter Felder, die mithilfe der in FldTypes.xml definierten Basisfeldtypen erstellt werden (Sie können keine benutzerdefinierten Basisfeldtypen erstellen.)

  • Erstellen einer benutzerdefinierten Ansicht für anhand der Listendefinition erstellte Listen

  • Angeben benutzerdefinierter Formularseiten für das Arbeiten mit Listenelementen

  • Angeben der Standardbeschreibung, die für die Liste auf der Benutzeroberfläche angezeigt wird

VorsichtVorsicht

Änderungen an einer ursprünglich installierten Datei Schema.xml auf einem Server mit Microsoft SharePoint Foundation können vorhandene Listen unbrauchbar machen. Die Änderungen werden ggf. überschrieben, wenn Sie Updates oder Service Packs für SharePoint Foundation installieren oder eine Installation auf die nächste Produktversion aktualisieren. Erstellen Sie ein Feature vom Typ "benutzerdefinierte Listendefinition", anstatt die ursprünglichen Schemadateien zu ändern. Weitere Informationen finden Sie unter Gewusst wie: Erstellen einer benutzerdefinierten Listendefinition.

Dateiformat

List-Element

Das List-Element auf oberster Ebene gibt den internen Namen und Anzeigenamen für die Listendefinition zusätzlich zur Richtung des Texts in Listen sowie die websitebezogene URL an, unter der Listen erstellt werden.

HinweisHinweis

In allen XML-Beispielen in diesem Thema sind mit "$Resources" beginnende Zeichenfolgen Konstanten, die in einer RESX-Datei in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Resources definiert sind.

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

Wie bei den meisten Attributen des List-Elements in Schema.xml ist die Angabe der websitebezogenen URL zumeist ohne Belang, da sie von Listeneinstellungen in der Datei Onet.xml der Websitedefinition überschrieben wird. Dieses Element gibt optional Microsoft SharePoint als XML-Namespace an. Das BaseType-Attribut gibt einen Basislistentyp an, der im BaseTypes-Element einer Onet.xml-Datei definiert wird. Geben Sie mithilfe des VersioningEnabled-Attributs an, ob die Versionsverwaltung für Dokumentbibliotheken standardmäßig aktiviert ist, die anhand der Listendefinition erstellt werden.

MetaData-Element

Das MetaData-Element gruppiert Listenmetadaten im List-Element und kann die folgenden Unterelemente enthalten.

ContentTypes-Element

Das ContentTypes-Element gibt Inhaltstypen an, die Listen zugeordnet werden sollen, die anhand der Listendefinition erstellt wurden.

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

Fields-Element

Das Fields-Element enthält Felddefinitionen für Spezialfelder, die ggf. in einer Listendefinition erforderlich sind.

<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>

Jedes Field-Element gibt einen Anzeigenamen (DisplayName), einen internen Namen (Name), einen Feldtyp (Type) und andere ggf. erforderliche Feldeigenschaften an, die in der Datei FldTypes.xml definiert sind, auf der das Feld basiert.

Eine Programmieraufgabe, die das Hinzufügen eines benutzerdefinierten Felds zu einer Schema.xml-Datei veranschaulicht, finden Sie unter Gewusst wie: Erstellen einer benutzerdefinierten Listendefinition.

Views-Element

Das Views-Element enthält die Definitionen für Ansichten, die beim Erstellen einer Liste standardmäßig verfügbar sind.

HinweisHinweis

SharePoint Foundation 2010 verwendet XSLT zum Definieren von Listenansichten, und das Ansichtsschema wird aus Gründen der Abwärtskompatibilität beibehalten. Weitere Informationen zu XSLT-Listenansichten finden Sie unter Listenansichten.

<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>

Jedes View-Element gibt den in der Anzeige verwendeten Formattyp (zumeist HTML) und eine eindeutige ID für die Ansicht an. Wenn die Ansicht in einem Webpart angezeigt wird, gibt das View-Element auch den Titel der Ansicht an. Das Url-Attribut dient bei der Listenerstellung zum Angeben des Basisnamens der ASPX-Datei, in der die Ansicht angezeigt wird. View gibt auch die Zonen-ID des Webparts an, in dem die Ansicht angezeigt wird.

In SharePoint Foundation enthält das View-Element Unterelemente, die verschiedene Teile einer Ansicht definieren:

  • Das Aggregations-Element definiert Feldverweise für berechnete Spalten.

  • Das XslLink-Element gibt eine XSL-Datei an, die verschiedene Teile einer Ansicht definiert, z. B. die Kopf- und Fußzeile und den Hauptteil. Es definiert auch die Abschnitte mit Gruppierungskriterien, die Rowsets zur Definition der Anzeige von Elementen, wenn die Anzahl das Zeilenlimit überschreitet, und die Anzeige leerer Abschnitte.

  • Das RowLimit-Element gibt einen Grenzwert für die Anzahl der anzuzeigenden Zeilen bzw. Elemente an.

  • Das Toolbar-Element definiert den oberhalb von Listen angezeigten Bereich.

  • Das ViewFields-Element gibt die in der Ansicht angezeigten Felder an.

  • Das ParameterBindings-Element gibt Ressourcenzeichenfolgen für die Implementierung in XSLT an. Weitere Informationen finden Sie unter XSLT-Parameterbindungen.

  • Das Query-Element definiert einen Filter für die Ansicht.

Forms-Element

Das Forms-Element enthält Verweise auf die Formulare, die verwendet werden, wenn Benutzer mit einzelnen Listenelementen arbeiten.

<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>

Jedes Form-Element gibt den Formulartyp, der DisplayForm, EditForm oder NewForm sein kann, sowie den Namen der ASPX-Seite, die für das Formular verwendet wird, und die Zonen-ID des Webparts an, in dem die Ansicht auf der Seite angezeigt wird.

DefaultDescription-Element

Ein DefaultDescription-Element gibt die Beschreibung an, die für die Listendefinition auf der Benutzeroberfläche angezeigt wird.

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

Dieses Element wird vom Description-Attribut des List-Elements überschrieben, das der aktuellen Listendefinition entspricht, die in einer Konfiguration in der Datei Onet.xml angegeben ist.

Wichtiger HinweisWichtig

Ein Wert für dieses Element muss bei benutzerdefinierten Listendefinitionen angegeben werden.

Listenvorlagen

Benutzer erstellen benutzerdefinierte Listenvorlagen auf der Seite Als Vorlage speichern einer Liste oder über Code, der die SaveAsTemplate-Methode der Microsoft.SharePoint.SPList-Klasse verwendet. Beim Speichern wird eine Listenvorlage als STP-Datei im Listenvorlagenkatalog der Website auf oberster Ebene einer Websitesammlung gespeichert. Listenvorlagen stehen allen Websites in der Websitesammlung zur Verfügung, die auf derselben Websitedefinition und Sprache wie die Website basieren, anhand der die Liste ursprünglich erstellt wurde. Um eine Listenvorlage einer Website in einer anderen Websitesammlung verfügbar zu machen, muss die Vorlage aus ihrem aktuellen Katalog heruntergeladen und in den Katalog der neuen Websitesammlung hochgeladen werden.

Siehe auch

Konzepte

List-Schema

Listeninstanz

Websitetypen: WebTemplates und Websitedefinitionen

Weitere Ressourcen

Listenansichten