Язык разметки приложений для совместной работы
CAML (язык разметки приложений для совместной работы) — это XML на основе язык разметки , используемый с технологиями Microsoft SharePoint (Windows SharePoint Services и Office SharePoint Server). В отличие от простого XML, CAML содержит определенные группы тегов для определения и отображения (рендеринга) данных.
Элементы
[ редактировать ]Разработчики могут использовать CAML как для создания, так и для отображения данных. Microsoft называет элементы, которые создают данные, элементами «определения», а элементы, отображающие данные, — элементами «рендеринга».
Элементы определения данных
[ редактировать ]Элементы определения данных определяют списки и сайты в том же стиле, что и базовый XML (но с ограниченным набором ключевых слов). Простое определение полей в списке может выглядеть так:
<Fields>
<Field Type="Counter" Name="ID"/>
<!-- other field definitions -->
</Fields>
Существует также специальный набор тегов для сравнения и разветвления данных в рамках CAML:
<IfEqual>
<Expr1>
<Field Name="CheckedOutUserId" />
</Expr1>
<Expr2 />
<Then />
<Else>
<!-- Some more CAML -->
</Else>
</IfEqual>
Существуют также специализированные теги для запросов к базе данных.
Элементы рендеринга данных
[ редактировать ]CAML позволяет генерировать HTML на основе определенных наборов тегов. Например, в следующем примере циклически обрабатываются некоторые данные и создается раскрывающееся HTML-меню с вариантами выбора:
<ForEach Select="CHOICES/CHOICE">
<HTML>fld.AddChoice(</HTML>
<ScriptQuote>
<Property Select="."/>
</ScriptQuote>
<HTML>, </HTML>
<ScriptQuote>
</ForEach>
Использование в продуктах SharePoint
[ редактировать ]В общем, почти все XML-файлы в установке SharePoint используют CAML. В частности, CAML очень важен для определений сайтов и списков с помощью файлов ONET.XML, а также других соответствующих файлов XML. Здесь CAML определяет, какие элементы существуют на экземпляре сайта, и отображение этих подэлементов, а файлы ASPX определяют, как упорядочивать и отображать эти элементы для формирования сайта.
Разработчики программного обеспечения могут использовать CAML для запроса списков и представлений SharePoint при программировании с использованием SharePoint API (CAML поддерживается веб-службами SharePoint и объектной моделью SharePoint).
Синтаксис запроса CAML можно создать графически из существующего списка SharePoint с помощью инструмента U2U CAML Generator и по адресу https://web.archive.org/web/20131029200611/http://www.camlgenerator.com/ .
CAML можно использовать для выполнения операций на основе запросов, таких как фильтрация данных в списках и библиотеках.
Внешние ссылки
[ редактировать ]- CAML в MSDN
- Определение схемы CAML
- https://caml.azurewebsites.net/. Архивировано 13 января 2018 г. на Wayback Machine.