Introduction to Collaborative Application Markup Language (CAML)
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
Collaborative Application Markup Language (CAML) is an XML-based language that is used in Windows SharePoint Services to define the fields and views used sites and lists. CAML is also used to define tables in the Windows SharePoint Services database during site provisioning.
Note
CAML is case-sensitive.
Site Customization with CAML
CAML can be used in various ways to customize a SharePoint site, including the following:
In script or code that implements members of the Windows SharePoint Services object model, where CAML strings are passed through method parameters, assigned to properties, or returned by methods and properties
In SOAP messaging that passes CAML strings to a Windows SharePoint Services Web service to interact remotely with a deployment
In front-end site definitions used to instantiate SharePoint sites
In Windows SharePoint Services Features to add specific functionality within a particular scope
Rendering with CAML
CAML is used for two types of rendering in Windows SharePoint Services: to define the type of data that is contained within a field, and to construct HTML that is displayed in the browser. For information on the two major uses of CAML, see Data-Defining Elements and HTML-Rendering Elements.
Programming with CAML
The following programming tasks and overview topics illustrate various ways in which CAML is used to customize site and list definitions:
How to: Add a Document Template, File Type, and Editing Application to a Site Definition
Upgrading a Custom Windows SharePoint Services 2.0 Site Definition
See Also
Concepts
Working with Site Templates and Definitions
Guidelines for Using Custom Site Definitions, Configurations, and Templates