from the specified datasources, merge it with the
layout nodes and finally translate to final
presentation.
Whenever there is new content and there are no
layout changes, the system just re-parses the layout,
fetches any new content and produces new
presentation material. On the other hand, if a content
editor wants to change the layout of a content unit
she only needs to alter the XML layout instance file.
This XML layout strategy has been applied
successfully in dozens of sites at the CCRTV (the
Catalan Government media corporation), several
iTV applications, Flash RIA deployments and many
other systems (including Microsoft’s Media Center
PCs). To provide a specific example application, the
3xl.net Flash-based site (CCRTVi, 2005) uses a
generic XML layout language to present Flash-based
content on the fly. The approach described in this
section compares to other XML-based technologies
of the next section in its emphasis on simplicity
whilst maintaining generality. It is not the aim of
this document to invalidate other approaches,
instead, a valid working strategy is presented, along
with some future relevant enhancements that can be
useful to XML architecture designers. It should be
noted that a helpful aid in any future improvements
of this strategy would be the patterns described by
Vogel & Zdun (2002), specially the “content format
template” (pp. 216-219).
3 OTHER XML PRESENTATION
LANGUAGE EXAMPLES
Zdun (2002) describes the technique of using XML
presentation languages and captures the spirit of
mapping XML languages to presentation details
(with a big focus on simplicity). Besides that generic
approach, there exist many implementations sporting
a ‘one size fits all’ approach: mapping from a single
XML layout language to one or many presentation
technologies. The XSWT Eclipse plug-in (Dorme,
2005) is particularly well structured and defines an
XML language targeting SWT (IBM’s Java
Standard Widget Toolkit). Another well-known
single-mapping implementation is the cross-platform
Mozilla XPToolkit (mozilla.org, 2005), aiming to
“make UIs as easy to build as web pages”.
All these single XML language technologies
mainly focus on interactive application UI design
(though related to the general philosophy described
by Zdun) and do not try to target a wide range of
presentation technologies. In contrast, the UIML
effort tries to solve the problem in a generic way to
allow for multi-channel publishing. However, UIML
has proven too generic in many scenarios (Ali,
Pérez-Quiñones, Abrams & Shell, 2002) as “the
generic vocabulary is not sufficient to build
interfaces for widely varying platforms” and the
authors propose “a multi-step process” to make
UIML more practical, acknowledging the fact that
“differences between display layouts were found to
be too significant to simply create one UIML file for
one particular platform”. Problems such as these
have steered the approach described in section 2 and
further in section 5 towards a simpler and arguably
more practical model. Finally, there are other
‘competing’ generic model-based proposals that also
tackle the original UI design issue and try to avoid
the UIML problems, for a good example see the
USer Interface eXtensible Markup Language
(Limbourg, Vanderdonckt, Michotte, Bouillon &
López-Jaquero, 2005).
4 COMMON DESIGN PITFALLS
Using XML layout languages to provide
presentation has some known implementation risks:
• The XML-to-GUI mapping is built into the
publishing engine and is not very resilient to
presentation changes. Major presentation
modifications usually require code and
implementation tweaks in the publishing engine.
• XSLT templates are a common technology used
to implement translation from XML to presentation
(such as XHTML pages). Even though XSLT is
perfectly adequate for XML document translation
(e.g. from template units to final XHTML page
files), the translation logic can become entangled
and dispersed in many XSLT files.
• Even though ad-hoc XML presentation
languages are usually fairly simple from a technical-
savvy user’s point of view, content editors and
journalists can have problems editing XML files,
leading to verification problems, lost productivity
and error-prone publication. Even though well-
known XML-validation editing tools do exist, they
are usually tailored to programmers and not suited
for end-user usage.
• A common approach to solve the difficulties
that content editors have in editing the XML
presentation instances is to build a custom XML
layout editor. In this case, there is a significant risk
of having the XML-presentation mapping embedded
in the editor application code. This is like having the
mapping embedded in the publishing engine, the
USING XSD INHERITANCE FOR XML-DRIVEN PRESENTATION LAYOUT IN WWW, ITV AND
MULTI-CHANNEL PUBLISHING - Facilitating Large-Scale Publishing
317