Descripción de los archivos Schema.xml

Última modificación: miércoles, 02 de febrero de 2011

Hace referencia a: SharePoint Foundation 2010

En este artículo
Tareas de definición de lista con Schema.xml
Formato de archivo
Plantillas de lista

Cada definición de lista que aparece como una opción en la página Crear tiene un archivo Schema.xml que está en una subcarpeta de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES o que se implementa como parte de una solución de espacio aislado. El archivo Schema.xml define las vistas, los formularios, las barras de herramientas y los campos especiales de las listas que se crean mediante la definición de lista.

Tareas de definición de lista con Schema.xml

Puede realizar los siguientes tipos de tareas en un archivo Schema.xml para personalizar una definición de lista:

  • Agregar campos personalizados integrados en los tipos de campo base definidos en FldTypes.xml (no se pueden crear tipos de campo base personalizados)

  • Crear una vista personalizada de las listas creadas mediante la definición de lista

  • Especificar páginas de formularios personalizados para trabajar con elementos de lista

  • Especificar la descripción predeterminada que se muestra para la lista en la interfaz de usuario (UI)

Nota de precauciónPrecaución

Si realiza cambios en un archivo Schema.xml instalado originalmente en un servidor que ejecuta Microsoft SharePoint Foundation se pueden romper las listas existentes. Los cambios se pueden sobrescribir al instalar actualizaciones o Service Pack para SharePoint Foundation o cuando se actualiza una instalación a la siguiente versión del producto. Cree una definición de lista personalizada en lugar de modificar los archivos de esquema originales. Para obtener más información, vea Procedimiento para crear una definición de lista personalizada.

Formato de archivo

Elemento List

El elemento List de nivel superior especifica el nombre interno y de presentación para la definición de lista, así como la dirección del texto que se usa en listas y la dirección URL relativa al sitio donde se crean las listas.

Nota

En todos los ejemplos XML de este tema, las cadenas que comienzan con "$Resources" son constantes definidas en un archivo .resx en %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">

Al igual que la mayoría de los atributos del elemento List de un archivo Schema.xml, la especificación de la dirección URL relativa al sitio es irrelevante en gran medida porque la invalida la configuración de lista del archivo Onet.xml de la definición de sitio. Este elemento especifica opcionalmente Microsoft SharePoint como un espacio de nombres XML. El atributo BaseType especifica un tipo de lista base que está definido en el elemento BaseTypes de un archivo Onet.xml. Use el atributo VersioningEnabled para especificar si el control de versiones está habilitado de forma predeterminada para las bibliotecas de documentos que se crean mediante la definición de lista.

Elemento MetaData

El elemento MetaData agrupa metadatos de lista dentro del elemento List y puede contener los siguientes subelementos.

Elemento ContentTypes

El elemento ContentTypes especifica tipos de contenido que se van a asociar a las listas que se crean mediante la definición de lista.

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

Elemento Fields

El elemento Fields contiene definiciones de campo para campos especiales que pueden ser necesarios en la definición de una lista.

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

Cada elemento Field especifica un nombre (DisplayName), un nombre interno (Name), un tipo de campo (Type) y otras propiedades de campo, según sea necesario, definidos en el archivo FldTypes.xml para mostrar el campo en que se basa.

Para una tarea de programación que muestra el procedimiento para agregar un campo personalizado a un archivo Schema.xml, consulte Procedimiento para crear una definición de lista personalizada.

Elemento Views

El elemento Views contiene las definiciones de vista que están disponibles de forma predeterminada cuando se crea una lista.

Nota

SharePoint Foundation 2010 usa XSLT para definir vistas de lista. El esquema View se mantiene para compatibilidad con versiones anteriores. Para obtener información acerca de las vistas de lista XSLT, vea Vistas de lista.

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

Cada elemento View especifica el tipo de formato que se usa en la presentación (normalmente, HTML) y un identificador único de la vista. Cuando la vista se muestra en un elemento web, el elemento View también especifica el título de la vista. El atributo Url se usa en la creación de listas para especificar el nombre base de la página ASPX en la que se muestra la vista. View también especifica el identificador de zona de elementos web del elemento web en el que se muestra la vista.

En SharePoint Foundation, el elemento View contiene subelementos que definen las distintas partes de una vista:

  • El elemento Aggregations define las referencias de campo para las columnas calculadas.

  • El elemento XslLink especifica un archivo XSL que define las distintas partes de una vista, por ejemplo, encabezado, cuerpo y pie de página. También define las secciones de GroupBy, los conjuntos de filas que definen cómo se deben mostrar los elementos cuando la cantidad supera el límite de filas y las secciones de ViewEmpty.

  • El elemento RowLimit especifica un límite para la cantidad de filas, o elementos, que se van a mostrar.

  • El elemento Toolbar define el área que se muestra encima de las listas.

  • El elemento ViewFields especifica los campos que se muestran en la vista.

  • El elemento ParameterBindings especifica las cadenas de recursos que se implementarán en XSLT. Para obtener más información, vea Enlaces de parámetros XSLT.

  • El elemento Query define un filtro para la vista.

Elemento Forms

El elemento Forms contiene las referencias a los formularios que se usan cuando los usuarios trabajan con elementos de lista individuales.

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

Cada elemento Form especifica el tipo de formulario, que puede ser DisplayForm, EditForm o NewForm, así como el nombre de la página ASPX que se usa para el formulario y el identificador de la zona de elementos web del elemento web en el que se muestra el formulario en la página.

Elemento DefaultDescription

Un elemento DefaultDescription especifica la descripción que se muestra para la definición de lista en la interfaz de usuario.

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

Este elemento se reemplaza con el atributo Description del elemento List correspondiente a la actual definición de lista que se especifica en una configuración de Onet.xml.

Nota importanteImportante

Debe especificarse un valor para este elemento en las definiciones de lista personalizadas.

Plantillas de lista

Los usuarios crean plantillas de lista personalizadas en la página Guardar como plantilla de una lista o mediante código que usa el método SaveAsTemplate de la clase Microsoft.SharePoint.SPList. Cuando se guarda, una plantilla de lista se almacena como un archivo .stp en la Galería de plantillas de lista del sitio de nivel superior en una colección de sitios. Las plantillas de lista están disponibles para todos los sitios de la colección de sitios que derivan de la misma definición de sitio y tienen el mismo idioma que el sitio en el que se creó originalmente la lista. Para hacer que una plantilla de lista esté disponible para un sitio de otra colección de sitios, descargue la plantilla de la galería actual y, a continuación, vuelva a cargarla en la galería de la nueva colección de sitios.

Vea también

Conceptos

Esquema de lista

Instancia de lista

Tipos de sitio: WebTemplates y definiciones de sitio

Otros recursos

Vistas de lista