Skip to Content

XSL and XML

OU Campus uses XSL to provide a more dynamic templating system by transforming XML content into other formats that have their own specific requirements, e.g. HTML. XSL provides three main advantages:

  1. Server-side Agnostic
    Due to its decoupled nature, OU Campus supports all server-side languages. XSL can output any server-side code, thereby supporting many different production server types and configurations.
  2. Programmatic Logic
    XSL provides similar functionality to a server-side language, handling that work on OU Campus servers and thus minimizing the work needed by the servers hosting the final products.
  3. Separation of Content from Design
    By storing only the content and settings that are specific to each page in XML (.pcf extension), developers and administrators can modify the global design in a single location (XSL) without the need to individually fix every page.

Instead of static HTML pages, each page in OU Campus is a custom-formatted XML file that called a PCF, or Publish Control File. This file type carries only the editable content specific to each page, along with some design choices that customize the page structure or overall style. Each PCF page references at least one XSL file that converts the content into the final published products on the production server.

XMLLink to this section

XML stands for eXtensible Mark-up Language and is a widely-used format for storing data in a textual format. Although XML has some very specific syntax requirements, the overall data structure is entirely up to the developer who makes use of it. PCF pages are XML files that make use of a few custom elements and attributes.

To learn more about pure XML, there are plenty of good online resources available, but Mozilla offers a good quick-start to XML.

XSLLink to this section

eXtensible Stylesheet Language is a pseudo-programming language that was originally built to convert XML structures into different XML structures. However, it has evolved to a powerful tool in terms of its output capabilities and functional abilities.