Abstract
This session will outline the approaches taken and lessons learned in developing Extensible Stylesheet Language, Transformations (XSLT), and Extensible Stylesheet Language, Formatting Objects (XSL-FO) stylesheets for a large international organization[1] Some of the requirements for this project were that the output support seven languages for publication, that all data be presented identically regardless of the language of the document instance, that document instances from several document types could be presented as either 'stand-alone' or embedded into a 'master' document with identical formatting, and that the stylesheets be 'pure' Extensible Stylesheet Language (XSL) (i.e., no extension functions) to allow partners freedom in their choice of XSL processor.
Faced with these requirements, a component-based architecture was chosen, using structural templates to define the framework of the rendered document and <xsl:include>s to call the required components. Commonly-used functions, such as those for converting text to upper- or lower-case and formatting of data (e.g., dates) were implemented by passing parameters to named templates. Boilerplate text for each language was stored in XML documents referenced by elements in the stylesheet templates. By using this architecture the stylesheet for each language contains identical formatting, regardless of the language of the boilerplate text; additionally, adding translations of the boilerplate text to the XML file could easily produce stylesheets for new publication languages.
The stylesheets were compiled into distributable stand-alone versions by processing the component stylesheets with assembler stylesheets; the result, that one hundred component files were assembled into seven HTML rendering and seven rendering stylesheets for each language.
Keywords
![]() ![]() |
Design & Development by deepX Ltd. 2002 |