Общие сведения о файлах Onet.xml

Дата последнего изменения: 2 февраля 2011 г.

Применимо к: SharePoint Foundation 2010

В этой статье
Функции файлов Onet.xml
Задачи определения веб-сайта в пользовательских файлах Onet.xml
Формат файла

При установке Microsoft SharePoint Foundation устанавливается несколько файлов Onet.xml: один файл, который глобально применяется в процессе развертывания, устанавливается в папку "%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\GLOBAL\XML", и несколько файлов устанавливаются в другие папки каталога "%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates". Каждый из файлов последней группы соответствует определению сайта, поставляемому с SharePoint Foundation. В их число входят, например, сайты блогов, сайт центра администрирования, сайты рабочих областей для собраний и сайты групп SharePoint. Только последние два из этих семейств содержат несколько конфигураций определений сайтов.

В глобальном файле Onet.xml определяются шаблоны для скрытых списков, базовые типы списков, конфигурация определений по умолчанию и модули, применяемые глобально в процессе развертывания. Каждый файл Onet.xml в каталоге, вложенном в каталог "%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates", может определять области навигации, шаблоны списков, шаблоны документов, конфигурации, модули, компоненты и нижние колонтитулы сообщений электронной почты сервера, используемые в определении веб-сайта, которому соответствует этот файл.

ПримечаниеПримечание

Файл Onet.xml также является частью веб-шаблона. Некоторые элементы Collaborative Application Markup Language (CAML), которые могут содержаться в файлах Onet.xml определений веб-сайтов, не могут содержаться в файлах Onet.xml, являющихся частью веб-шаблонов, например это относится к элементу DocumentTemplates.

Функции файлов Onet.xml

В зависимости от того, где находится файл Onet.xml и является ли он частью определения сайта или веб-шаблона, разметка в файле выполняет все следующие функции или некоторые из них:

  • определяет ограниченные веб-сайтом и семейством веб-сайтов компоненты, встроенные в веб-сайты, созданные с использованием определения веб-сайта или веб-шаблона;

  • определяет типы списков, страницы, файлы и веб-части, встроенные в веб-сайты, созданные с использованием определения веб-сайта или веб-шаблона;

  • определяет верхнюю и нижнюю области навигации, отображаемые на домашней странице и в представлениях списков для определения сайта;

  • задает определения списков, используемые в каждом определении веб-сайта, и их доступность для создания списков в пользовательском интерфейсе;

  • определяет шаблоны документов, доступные в определении веб-сайта для создания списков в библиотеке документов в пользовательском интерфейсе, и определяет файлы, используемые в этих шаблонах;

  • определяет базовые типы списков, производными от которых являются списки SharePoint Foundation по умолчанию (эту функцию выполняет только общий файл Onet.xml), определять новые базовые типы списков невозможно;

  • указывает компоненты SharePoint Foundation;

  • определяет область нижнего колонтитула в электронной почте сервера.

Задачи определения веб-сайта в пользовательских файлах Onet.xml

С помощью пользовательского файла Onet.xml, используемого либо для настраиваемого определения веб-сайта, либо для настраиваемого веб-шаблона, можно выполнить следующие виды задач:

  • указание альтернативного файла каскадных таблиц стилей, файла JavaScript или файла заголовка ASPX для определения сайта;

  • изменение областей переходов для домашней страницы и страниц списка;

  • добавление нового определения списка в качестве возможности в пользовательском интерфейсе;

  • определение одной конфигурации для определения веб-сайта или веб-шаблона, в которой указываются списки, модули, файлы и веб-части, включаемые при создании экземпляра конфигурации;

  • определение компонентов, автоматически включаемых в веб-сайты, создаваемые из определения веб-сайта или веб-шаблона.

С помощью пользовательского файла Onet.xml, используемого для настраиваемого определения веб-сайта, но не для настраиваемого веб-шаблона, можно выполнить следующие виды задач:

  1. добавление шаблона документов для создания библиотек документов;

  2. определение нескольких конфигураций для определения веб-сайта с указанием списков, модулей, файлов и веб-частей, включаемых при создании экземпляра конфигурации;

  3. определение настраиваемого нижнего колонтитула для сообщений электронной почты, отправляемых с веб-сайтов, созданных на основе этого определения веб-сайта;

  4. определение пользовательских компонентов, таких как постобработчик диалоговых окон файлов, для веб-сайтов, созданных на основе этого определения веб-сайта.

Предупреждающая заметкаВнимание!

Новые базовые типы списков нельзя создавать ни в определении веб-сайта, ни в веб-шаблоне. Поддерживаются только базовые типы, определенные в глобальном файле Onet.xml.

Предупреждающая заметкаВнимание!

Внесение изменений в первоначально установленный файл Onet.xml не поддерживается. Подобные действия могут привести к нарушению работы существующих веб-сайтов. Кроме того, при установке обновлений или пакетов обновления для SharePoint Foundation либо при переходе на новую версию продукта возможно появление новой версии файла, поставляемого корпорацией Microsoft, и объединить внесенные изменения с новой версией не удастся. Если требуется тип сайта, похожий на встроенный тип сайта, и невозможно использовать веб-шаблон, создайте новое определение сайта с отдельным файлом Onet.xml, не меняйте исходный файл. Дополнительные сведения см. в статье Создание настраиваемого определения и конфигурации сайта. Дополнительные сведения о случаях, когда невозможно использовать веб-шаблон, см. в статье Выбор между настраиваемыми веб-шаблонами и настраиваемыми определениями веб-сайтов.

Формат файла

В следующих разделах определяются различные элементы файла Onet.xml.

Элемент Project

Элемент верхнего уровня Project указывает имя по умолчанию для сайтов, создаваемых с помощью любой конфигурации сайта из определения сайта. Он также указывает каталог, содержащий вложенные каталоги, в которых располагаются файлы для каждого определения.

ПримечаниеПримечание

Если не указано иное, то фрагменты, используемые в следующих примерах, взяты из файла Onet.xml для определения веб-сайта STS.

<Project 
  Title="$Resources:core,onet_TeamWebSite;" 
  Revision="2" 
  ListDir="$Resources:core,lists_Folder;" 
  xmlns:ows="Microsoft SharePoint" 
  UIVersion="4">
ПримечаниеПримечание

Во всех примерах, приведенных в этом разделе, строки, начинающиеся с "$Resources", являются константами, заданными в RESX-файле. Например, константа "$Resources:onet_TeamWebSite" задана в файле core.resx как "Team Site". При создании файла Onet.xml можно использовать строковые литералы.

У этого элемента также может быть несколько других атрибутов. Дополнительные сведения см. в разделе Элемент Project (Site).

Элемент Project не содержит никаких атрибутов, идентифицирующих используемое определение сайта. Каждый файл Onet.xml связан с определением сайта через путь к каталогу, в котором он находится. Для всех файлов Onet.xml за исключением глобального это каталог "%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates\тип_сайта\XML\", где тип_сайта — имя определения сайта, например STS или MPS. Файл Onet.xml для веб-шаблона связывается с шаблоном путем размещения в WSP-пакете для этого веб-шаблона.

Элемент NavBars

Элемент NavBars содержит определения для верхней области переходов, которая отображается на домашней странице или в представлениях списков, и определения для боковой области переходов, отображаемой на домашней странице.

ПримечаниеПримечание

Элемент NavBar не обязательно должен быть панелью инструментов. Он может быть, например, деревом ссылок.

<NavBars>
  <NavBar 
    Name="$Resources:core,category_Top;" 
    Separator="&amp;nbsp;&amp;nbsp;&amp;nbsp;" 
    Body="&lt;a ID='onettopnavbar#LABEL_ID#' href='#URL#' accesskey='J'&gt;#LABEL#&lt;/a&gt;" 
    ID="1002" />
  <NavBar 
    Name="$Resources:core,category_Documents;" 
    Prefix="&lt;table border='0' cellpadding='4' cellspacing='0'&gt;" 
    Body="&lt;tr&gt;&lt;td&gt;&lt;table border='0' cellpadding='0' cellspacing='0'&gt;&lt;tr&gt;&lt;td&gt;&lt;img src='/_layouts/images/blank.gif' id='100' alt='' border='0'&gt;&amp;nbsp;&lt;/td&gt;&lt;td valign='top'&gt;&lt;a id='onetleftnavbar#LABEL_ID#' href='#URL#'&gt;#LABEL#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;" 
    Suffix="&lt;/table&gt;" 
    ID="1004" />
    ...
</NavBars>

Элемент NavBarLink определяет ссылки для верхней и боковой областей навигации, а весь раздел элементов NavBar группирует новые ссылки в боковой области. Каждый элемент NavBar указывает отображаемое имя и уникальный идентификатор для панели навигации, а также определяет отображение панели навигации.

Дополнительные сведения о настройке областей навигации на страницах SharePoint Foundation см. в статье Навигация по веб-сайту.

Элемент ListTemplates

В разделе ListTemplates указаны определения списков, являющиеся частью определения веб-сайта. Эта разметка продолжает поддерживаться только для обеспечения обратной совместимости. Новые настраиваемые типы списков следует определять как компоненты. Следующий пример взят из файла Onet.xml для определения веб-сайта рабочей области для собраний.

<ListTemplates>
  <ListTemplate 
    Name="meetings" 
    DisplayName="$Resources:xml_onet_mwsidmeetingDisp;" 
    Type="200" 
    BaseType="0" 
    Unique="TRUE" 
    Hidden="TRUE" 
    HiddenList="TRUE" 
    DontSaveInTemplate="TRUE" 
    SecurityBits="11" 
    Description="$Resources:xml_onet_mwsidmeetingDesc;"
    Image="/_layouts/images/itevent.gif">
  </ListTemplate>
  <ListTemplate 
    Name="agenda" 
    DisplayName="$Resources:xml_onet_mwsidagendaDisp;" 
    Type="201" 
    BaseType="0" 
    FolderCreation="FALSE" 
    DisallowContentTypes="TRUE" 
    SecurityBits="11" 
    Description="$Resources:xml_onet_mwsidagendaDesc" 
    Image="/_layouts/images/itagnda.gif">
  </ListTemplate>
    ...
</ListTemplates>

Каждый элемент ListTemplate задает внутреннее имя, идентифицирующее определение списка. Элемент ListTemplate также задает отображаемое имя определения списка и определяет, выбрана ли по умолчанию в пользовательском интерфейсе создания списка возможность добавления ссылок на панель Быстрый запуск. Кроме того, этот элемент указывает описание определения списка и путь к изображению, представляющему определение списка, которые отображаются в пользовательском интерфейсе создания списка. Если установлено значение Hidden="TRUE", то вариант определения списка в пользовательском интерфейсе создания списка недоступен.

Элемент ListTemplate имеет два атрибута для типа: Type и BaseType. Атрибут Type указывает уникальный идентификатор определения списка, а атрибут BaseType задает базовый тип списка для определения списка и соответствует значению атрибута Type, указанному для одного из базовых типов списков, заданных в глобальном файле Onet.xml.

Дополнительные сведения о создании новых типов списков см. в разделе Создание настраиваемого определения списка.

Элемент DocumentTemplates

В разделе DocumentTemplates определяются шаблоны документов, указанные в пользовательском интерфейсе для создания библиотеки документов. Эта разметка продолжает поддерживаться только для обеспечения обратной совместимости. Новые типы документов следует определять как типы контента. Дополнительные сведения см. в разделе Типы контента настоящего SDK.

<DocumentTemplates>
  ...
  <DocumentTemplate 
    Path="STS" 
    DisplayName="$Resources:core,doctemp_Word;" 
    Type="121" 
    Default="TRUE" 
    Description="$Resources:core,doctemp_Word_Desc;">
    <DocumentTemplateFiles>
      <DocumentTemplateFile 
        Name="doctemp\word\wdtmpl.dotx" 
        TargetName="Forms/template.dotx" 
        Default="TRUE" />
    </DocumentTemplateFiles>
  </DocumentTemplate>
  ...
</DocumentTemplates>

В каждом элементе DocumentTemplate задается отображаемое имя, уникальный идентификатор и описание шаблона документа. Если для Default установлено значение TRUE, то шаблон является шаблоном по умолчанию, выбранным для библиотек документов, созданных на сайтах с использованием одной из конфигураций в определении веб-сайта. Несмотря на единственное число своего имени, элемент DocumentTemplate фактически может содержать коллекцию элементов DocumentTemplateFile. Атрибут Name каждого элемента DocumentTemplateFile задает относительный путь к локальному файлу, используемому в качестве шаблона. Атрибут TargetName указывает конечный URL-адрес файла шаблона при создании библиотеки документов. Атрибут Default указывает, является ли используемый файл файлом шаблона по умолчанию.

ПримечаниеПримечание

У файла Onet.xml в веб-шаблоне не может быть элемента DocumentTemplate.

Описание задачи разработки, связанной с шаблонами документов, см. в статье Добавление шаблона документа, типа файла и приложения редактирования к определению сайта.

Элемент BaseTypes

Элемент BaseTypes глобального файла Onet.xml используется при создании сайта или списка для определения базовых типов списков, на которых основаны все остальные определения списков в SharePoint Foundation. Каждый шаблон списка, указанный в разделе шаблонов списков, соответствует одному из этих базовых типов: Generic List, Document Library, Discussion Forum, Vote or Survey или Issues List.

ПримечаниеПримечание

В SharePoint Foundation раздел BaseTypes используется только в глобальном файле Onet.xml, из которого взят следующий пример.

<BaseTypes>
  <BaseType 
    Title="Generic List" 
    Image="/_layouts/images/itgen.gif" 
    Type="0">
      <MetaData>
        <Fields>
          <Field 
            ID="{1d22ea11-1e32-424e-89ab-9fedbadb6ce1}" 
            ColName="tp_ID" 
            RowOrdinal="0" 
            ReadOnly="TRUE" 
            Type="Counter" 
            Name="ID" 
            PrimaryKey="TRUE" 
            DisplayName="$Resources:core,ID" 
            SourceID="https://schemas.microsoft.com/sharepoint/v3" 
            StaticName="ID">
          </Field>
          <Field 
            ID="{03e45e84-1992-4d42-9116-26f756012634}" 
            RowOrdinal="0" 
            Type="ContentTypeId" 
            Sealed="TRUE" 
            ReadOnly="TRUE" 
            Hidden="TRUE" 
            DisplayName="$Resources:core,Content_Type_ID;"
            Name="ContentTypeId" 
            DisplaceOnUpgrade="TRUE"
            SourceID="https://schemas.microsoft.com/sharepoint/v3" 
            StaticName="ContentTypeId" 
            ColName="tp_ContentTypeId">
          </Field>
          ...
      </Fields>
    </MetaData>
  </BaseType>
  ...
</BaseTypes>

Каждый элемент BaseType указывает поля, используемые в списках, производных от базовых типов. Атрибут Type каждого элемента Field определяет тип поля, заданный в файле FldTypes.xml.

Предупреждающая заметкаВнимание!

Не изменяйте содержимое глобального файла Onet.xml, поскольку это может привести к повреждению установленной версии. Нельзя добавлять новые базовые типы списков. Дополнительные сведения о добавлении определения списка см. в статье Создание настраиваемого определения списка.

Элемент Configurations

Каждый элемент Configuration в разделе Configurations указывает списки, модули и компоненты, создаваемые по умолчанию при создании экземпляра конфигурации определения сайта или веб-шаблона.

<Configurations>
  ...
  <Configuration 
    ID="0" 
    Name="Default">
    <Lists>
      <List 
        FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" 
        Type="101" 
        Title="$Resources:core,shareddocuments_Title;" 
        Url="$Resources:core,shareddocuments_Folder;" 
        QuickLaunchUrl="$Resources:core,shareddocuments_Folder;/Forms/AllItems.aspx" />
      ...
    </Lists>
    <Modules>
      <Module 
        Name="Default" />
    </Modules>
    <SiteFeatures>
      <Feature 
        ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" />
      <Feature 
        ID="FDE5D850-671E-4143-950A-87B473922DC7" />
    </SiteFeatures>
    <WebFeatures>
      <Feature 
        ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" />
      <Feature 
        ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />
    </WebFeatures>
  </Configuration>
  ...
</Configurations>

Атрибут ID определяет конфигурацию (уникальным образом, относительно других конфигураций при их наличии в элементе Configurations). Если файл Onet.xml является частью определения сайта, то значение атрибута ID соответствует атрибуту ID элемента Configuration в файле WebTemp*.xml. (У веб-шаблонов нет файлов WebTemp*.xml.)

Каждый элемент List указывает название определения списка и URL-адрес хранения списка. Атрибут QuickLaunchUrl также может быть использован для указания URL-адреса страницы просмотра при добавлении ссылки с панели Быстрый запуск в список, созданный на основе определения списка. Значение атрибута Type соответствует атрибуту Type шаблона в разделе шаблонов списков. Каждый элемент Module указывает имя модуля, заданного в разделе модулей.

Элементы SiteFeatures и WebFeatures содержат ссылки на семейство веб-сайтов и на функции в области сайта, которые включаются в определение сайта.

Используйте элемент ExecuteUrl внутри элемента Configuration, чтобы указать URL-адрес, вызываемый после создания экземпляра сайта.

Дополнительные сведения о конфигурациях определений см. в статье Создание настраиваемого определения и конфигурации сайта.

Элемент Modules

Коллекция Modules определяет пул модулей. Конфигурация может ссылаться на любой модуль пула, если модуль должен включаться в веб-сайты, создаваемые из этой конфигурации. Каждый элемент Module, в свою очередь, задает один или несколько включаемых файлов, часто для веб-частей, которые кэшируются в памяти интерфейсного веб-сервера вместе с файлами схемы. Атрибут Url элемента Module можно использовать для предоставления папки в качестве фрагмента определения веб-сайта. Эта разметка поддерживается только для обеспечения обратной совместимости. Новые модули должны включаться в компоненты.

<Modules>
  <Modules>
    <Module 
      Name="Default" 
      Url="" 
      Path="">
      <File 
        Url="default.aspx" 
        NavBarHome="True">
        <View 
          List="$Resources:core,lists_Folder;
          /$Resources:core,announce_Folder;" 
          BaseViewID="0" 
          WebPartZoneID="Left" />
        <View 
          List="$Resources:core,lists_Folder;
          /$Resources:core,calendar_Folder;" 
          BaseViewID="0" 
          RecurrenceRowset="TRUE" 
          WebPartZoneID="Left" 
          WebPartOrder="2" />
        <AllUsersWebPart 
          WebPartZoneID="Right" 
          WebPartOrder="1"><![CDATA[<WebPart 
            xmlns="https://schemas.microsoft.com/WebPart/v2"
            xmlns:iwp="https://schemas.microsoft.com
            /WebPart/v2/Image">
            <Assembly>Microsoft.SharePoint, Version=12.0.0.0, 
              Culture=neutral, 
              PublicKeyToken=71e9bce111e9429c</Assembly>
            <TypeName>Microsoft.SharePoint.WebPartPages.ImageWebPart
            </TypeName>
            <FrameType>None</FrameType>
            <Title>$Resources:wp_SiteImage;</Title>
            <iwp:ImageLink>/_layouts/images/homepage.gif
            </iwp:ImageLink>
            <iwp:AlternativeText>$Resources:core,sitelogo_wss;
            </iwp:AlternativeText>
            </WebPart>]]>
        </AllUsersWebPart>
        <View 
          List="$Resources:core,lists_Folder;
          /$Resources:core,links_Folder;" 
          BaseViewID="0" 
          WebPartZoneID="Right" 
          WebPartOrder="2" />
          <NavBarPage 
            Name="$Resources:core,nav_Home;" 
            ID="1002" 
            Position="Start" />
          <NavBarPage 
            Name="$Resources:core,nav_Home;" 
            ID="0" 
            Position="Start" />
      </File>
    </Module>
  ...
</Modules>

Элемент Module указывает имя модуля, соответствующее имени модуля, указанному в конфигурации в файле Onet.xml.

Атрибут Url каждого элемента File в модуле указывает имя файла, который будет создаваться при создании сайта. Если модуль содержит один файл, например default.aspx, то NavBarHome="TRUE" означает, что этот файл будет служить конечной страницей для ссылки Home на панелях навигации. Элемент File в файле default.aspx также определяет веб-части, включаемые в домашнюю страницу, и сведения о домашней странице для других страниц, содержащих ссылку на нее.

Элемент Module может содержаться только в файле Onet.xml, являющемся частью определения сайта, но не в файле Onet.xml, являющемся частью веб-шаблона.

Дополнительные сведения об использовании модулей в SharePoint Foundation см. в разделе Подготовка файла.

Элемент Components

Элемент Components указывает компоненты, включаемые в сайты, созданные при помощи определения.

<Components>
  <FileDialogPostProcessor ID="BDEADEE4-C265-11d0-BCED-00A0C90AB50F" />
</Components>

Элемент Components может быть включен только в файл Onet.xml, который входит в определение сайта, но не в файл Onet.xml, входящий в состав веб-шаблона.

Элемент ServerEmailFooter

Элемент ServerEmailFooter определяет раздел нижнего колонтитула, используемый в исходящей электронной почте сервера.

<ServerEmailFooter>$Resources:ServerEmailFooter;</ServerEmailFooter>

Элемент ServerEmailFooter может быть включен только в файл Onet.xml, который входит в определение сайта, но не в файл Onet.xml, входящий в состав веб-шаблона.

См. также

Концепции

Схема Site