XML/XSL

Overview

OmniUpdate offers XML/XSL technology that takes advantage of the separation of HTML structure from content. The functionality that provides separation of content of a website from its architecture, also is particularly well suited to combining and repurposing content and data. 

Using XML/XSL, combinations of files can be used in a Lego-like manner to produce various outputs such as HTML for web pages, print-friendly HTML, CSV for spreadsheets, PDFs, etc. In addition, XML/XSL technologies present ever-changing content to keep the site automatically updated with the very latest. However, an XML/XSL approach does require understanding of the technologies and learning how to use them. 

Multiple Outputs Flowchart

 

The use of XML/XSL technology takes place at the file level. The keystone of OmniUpdate's XML/XSL implementation is via the use of a Publish Control File, PCF. OU Campus supports XSLT 1.0, 2.0, and 3.0. The Saxon transformation engine is used.

OU Campus supports two different types of page templates: HTML-based, and XML/XSL based. HTML-based templates are a legacy feature that were used in the days before implementations were done using the XML/XSL process, mostly before OU Campus v10 was released. For more information about legacy HTML templates, visit the OU Campus Pre-v10 section of the site.

XML/XSL page template set minimally consists of three files (TCF, GIF, and TMPL), and current implementations include one or more XSLs that are used to transform content into the desired form and structure.

TCF (Template Control File): This is an XML document that contains the form questions to customize a new page (from a TMPL file), along with the specification of what TMPL file to use (in the template node). This is the same file type and syntax as used for the HTML based templates.

GIF (image icon): The template uses the GIF image to represent the template during new content creation. It is shown on the "Create New Page" page, where it and all other thumbnails are listed alphabetically. Any GIF image can be used, but it must be saved as one of the following file types (.png .jpg .jprg, or .gif).  

TMPL (Template file): This is an XML-only document with the nodes that will contain the content as well as <!--%echo var="variable_name" --> tags to catch info from the TCF that will populate a page. The TMPL also has the instructions on what XSL stylesheet it needs to partner with to create a final page that will be published. This is the processing instruction that must be at the top of the page.

This file is structured nothing like the one for HTML based templates. This file has no HTML in it at all. All of the HTML structure for this template belongs in the XSL file. As with HTML-based templates, in advanced XML/XSL templates more than one TMPL file can be used with a TCF file and many pages, files, and folders can be created all at once.

When a user creates new content, the TCF and TMPL work together to create a PCF file on the staging server. The PCF then calls one or more XSLs to manufacture the various outputs.

PCF (Publish Control File): This is an XML file derived from the TMPL that has been populated with content from the variables that are filled out in the TCF form. Users then edit the PCF file with the WYSIWYG Editor to place their content.

PCF files and TMPL files (this XML type) are actually the same file, the difference is the TMPL has the <!--%echo var="variable_name" --> tags. The PCF file is created from (copied from) the TMPL, and gets the values from the TCF and replaces the echo var comments with the values of those variables.

When previewed or published, the PCF has the pcf-stylesheet declaration in it to call the XSL file to style it, and via the XSL transformation engine, convert it in to an HTML document or other type of document, which can then be previewed in OU Campus or is published to the production server.

XSL stylesheets: EXtensible stylesheet language (XSL) can be defined as XML documents which contain XSLT commands (along with HTML and CSS) and are used to transform the content of XML documents (PCF files) into the desired output, such as HTML and XHTML.

PCF files contain editable regions that to which groups can be assigned in order to limit editing of certain content areas. It is important to note that the use of PCF files is not an all-or-nothing decision.  HTML files can also be located and editable on the staging server along with PCF files all within the same site. Any PCF files are processed by XSLT, while HTML files are published without further processing. This provides for a smooth migration to XML/XSL, and eliminates the need to migrate legacy HTML content if desired. Best of all, users will not experience any significant difference while editing, since the WYSIWYG Editor is the same for both file types.

XML and XSL Introduction Videos

The following videos can be used to get a simple understanding of both XML and XSL. They will bring users up to speed with nomenclature and syntax, along with how to configure the prolog and some basic functions.