Intro to XSL and XML
Modern Campus CMS uses XML and XSL to build and create pages. XML is a syntax that stores page data and content, while XSL is a transformation language that transforms XML content into other formats that have their own specific requirements, for example HTML.
Instead of static HTML pages, each page in Modern Campus CMS 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, eXtensible Markup Language, is a widely-used format for storing data as text so it can be later accessed by XSL or other software. Unlike HTML, XML doesn't have a set of predefined tags; it has some very specific syntax requirements, but the overall data structure is entirely up to the developer using it. Invalid XML that doesn't follow correct syntax leads to parsing errors on PCF pages.
As such, any HTML brought into Modern Campus CMS PCFs must be made XHTML compliant to ensure they follow XML syntax rules and avoid XSL parsing errors. Three common causes of parsing errors are:
- Open tags.
Unlike HTML, all tags in XML must close, either as self-closing tags or full tags.<img />
or<img></img>
<br />
<hr />
<link />
or<link></link>
- Boolean attributes without values.
A boolean attribute can be listed without a value in valid HTML. However, XML requires all attributes to have associated values, so add a value repeating the name of the attribute.
async="async"
hidden="hidden"
- Special characters not encoded.
XML treats certain special characters in a unique manner. Any instances of those characters which appear in page content need to be encoded appropriately using HTML entities.- <
<
- >
>
- &
&
- ©
©
- <
This video was recorded in OU Campus v10. While the interface may have a slightly different look, the platform functionalities did not drastically change in the OU Campus 11 release.
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 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. It can transform XML into a number of different products, including .html, .aspx, or .php files.
XSL has three main advantages:
- Server-side Agnostic
Due to its decoupled nature, Modern Campus CMS supports all server-side languages. XSL can output any textual content including server-side code, thereby supporting many different production server types and configurations, including outputting basic PHP and C# to the source of the page to call that language. Common languages such as PHP and C# can be output easily by default, but XSL can work with just about any server-side language. - Programmatic Logic & Efficiency
XSL provides similar functionality to a server-side language, handling that work on Modern Campus CMS servers and thus minimizing the work needed by the servers hosting the final products. By reducing the load on server-side scripts and outputting static files, users visiting the live site will experience faster load times than a site powered by server-side scripting alone. - 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.
This video was recorded in OU Campus v10. While the interface may have a slightly different look, the platform functionalities did not drastically change in the OU Campus 11 release.
External references on XSL and XML: