XML Templates

The Anatomy of a C1 Page

A web page in C1 CMS is constructed from the following elements:

  • A page object containing titles, page metadata and content elements
  • A layout template defined using XHTML / Razor or Master Pages and C1 CMS-related markup or code
  • Functions that allow reusing some of the content and create dynamic elements such as navigation tools or news lists

Please note that you can create layout templates based on XMLXHTML, Razor or Master Pages. This guide entirely focuses on creating XML templates.

The Page Object, Contents and Metadata

C1 CMS is partly a page-based CMS, which means that the system comes with a core set of data objects and features that predefine what a page is in its minimal form. You can extend on this model by adding content areas and metadata to pages. And use the extended data in layout templates and functions to create required designs and features for the website.

XML Layout Templates

Each page has one layout template. Layout templates are shared across pages and define the overall layout of a page. XML-based templates typically contain the backbone XHTML markup of the page, placeholders for page content as well as function calls to dynamic elements such as navigation tools or news lists.


Functions are a key part of C1 CMS. While page objects and layout templates only deliver data, functions are what deliver dynamically generated output to pages and as a front-end developer you will both use, and create, functions when building websites.

Typical examples of functions that deliver page output are:

  • Navigation elements, bread crumbs, sitemaps, menus
  • Contact Forms
  • Image and document libraries
  • News lists, RSS feeds
  • Teasers
  • Search results

Both content editors and developers can embed functions on pages using either a visual Function Designer or XML markup.

(You can read more on C1 CMS functions in “A Guide to CMS Functions”.)