Anne Bovard, Comtech Services, Inc.
Extensible Markup Language (XML) is often promoted because it separates form from content. While there are many reasons to tout this separation, it requires a shift in thinking. Since the 1980s desktop publishing has enabled people to format their own output. Most times, even though it means giving up formatting control, authors are generally enthusiastic about implementing XML and structured authoring. In this new environment, formatting is integrated into the publishing process. The new pipeline looks like this:
Figure 1: XML publishing pipeline
Freed from the time-consuming responsibility of formatting, the author can focus on the content. In the new pipeline, the author creates content, a stylesheet is applied during processing, and output results. One of the greatest benefits of this solution is the ability to standardize the format. We can develop one stylesheet and apply it to whatever content we wish to format the same way.
To see how this can work in practice consider the following example. In a recent project, we helped a client define an XML and metadata scheme for their cover page. The goal was to define the components of the cover page with XML. We developed a template for XML content entry and a stylesheet to format the XML. For each new book, the client can update the content with the new cover page details. Then at publishing, they apply the stylesheet to yield a nice cover page and deliverable. The client’s cover page needed to look something like this:
Figure 2: Sample cover page
We began to define the components of the page: book title, subtitle, version, publisher, etc. Using DITA’s bookmap document type, the XML markup began to take shape:
Figure 3: Sample XML markup
Then we developed a stylesheet to apply to the XML markup. The stylesheet handles the actual layout and formatting of the content. We created a mockup of the final cover page, illustrating the XML elements for each cover page component with a display of how they are formatted. Here is a sample of the mockup:
Figure 4: Cover page mock up with complementary XML definitions
Each component of the cover page has a corresponding XML element. For each cover page component, we selected the closest match available in our XML architecture. The corporate logo and cover page graphic were coded into the stylesheet. The data for all other components is entered into the XML template (Fig 3) and then formatted by the stylesheet during processing.
Because of the inherent disconnect between form and content in XML, it was valuable to display what XML and metadata were used to generate the cover page. Our mockup helped the client see how the markup would be leveraged in the output. It also provided a frame of reference for the authors and helped them to see the end result of their XML markup.