Can we help?
 ananas.org 
  | Home | Contact | Site map | Writings | Open source software | Français |  


 

This XML/XSL publishing solution was born in 1999 out of our frustration with the tools and solutions available to manage our own website, psol.be. We were looking for a more practical solution than the limited HTML editor, but one that was simpler to deploy and use than the dynamic solutions.

Indeed, with just an HTML editor it is difficult to ensure the coherence of a site with more than a dozen pages. Corrections (done by hand) just take too much time.

A dynamic site (PHP, ASP, JSP, Cocoon) automates most of these chores, but the increased load on the server has a negative impact on the responsiveness of the site -- and dynamic sites are more prone to breaking down (see the recent survey by Willy Technology as an illustration).

Our solution builds on XML and XSL. It offers all the benefits of dynamic, publishing but none of the disadvantages.

Contrary to widespread belief, publishing with XML/XSL needs not be difficult, and it is appropriate even for medium-sized sites.

Since 1999, we have refined our solution to better address the needs of our customers (and our needs as well). As an illustration, here's the setup we use today to publish psol.be, the site you are currently visiting. The setup is representative of small- to medium-sized sites (1000 documents or less) and intranets.

Depending on the needs of the projects, other configurations are possible (e.g. Cocoon). We offer different services, either installing a solution at our customers' premises or taking care of the publishing for them.

Authoring

Word screenshot

We write the content directly with Microsoft Word. At this stage, the writer does not care about the presentation or the navigation. They will be added automatically by XSL style sheets (see below).

Interestingly, XML documents are highly structured and can replace databases in many small- to medium-sized sites. Technically speaking, XML documents are structured and can be queried just like a database.

For example, because our customers are spread across France, Belgium, and the rest of Europe we needed a bilingual site (French and English). Structured XML documents help manage the two languages.

Style sheets

An XSL style sheet

XSL style sheets generate the website: layout and navigation rules are applied automatically. Depending on the specific needs of the site, style sheets can also generate a table of contents, an index, display the content of a directory, and more.

XSL style sheets enforce the coherence of the site. A change in the navigation or in the layout is first implemented in the style sheets. Thereafter, the entire site is updated automatically.

Publishing

Publishing with XM

We use a tool we developed, called XM, to publish the site. We also distribute this tool as open source software for the Windows, MacOS X and Linux platforms.

The tool is available in a user-friendly graphical version and a more powerful command-line version. The latter is appropriate for the crontab jobs on a server (a program that allows users to create jobs that will run at a given time).

XM automatically generates a static HTML website. Therefore XM combines the best of both worlds: dynamic management, which is the hallmark of dynamic sites, along with the efficiency of a static site.

Workstation or server

Uploading with FTP

XM is either deployed on the webmaster's workstation or directly on the server. (For psol.be, we chose to run it on a workstation.)

After publishing the website, we upload it with a regular FTP client.

Most of our customers publish an intranet in XML as part of knowledge management or technical documentation. In those cases, it is more sensible to install the publishing solution directly on the server. Fortunately, the publishing solution is flexible enough and offers many deployment options.

Forms and dynamic aspects

A form in an XML web site

Contrary to what many think, publishing with XML and XSL is actually compatible with more dynamic content, including forms and other tools to interact with the visitor.

Thanks to XML and XSL, we can restrict the use of server-side scripts to those sections of the site that really benefit from them. The end result is a more responsive and stable site.

Again, it is essential to highlight the flexibility offered by XML and XSL. Depending on the needs of the project, we either generate the content completely in XML, we generate dynamic code (PHP and the like) from XML, or we hand over the processing to pre-existing scripts.

Multi-publishing

Publishing to different formats with XML and XSL

We wanted the site available in two formats: in HTML for regular browsing and as an RSS feed for those who want quicker access to information. Double publishing could have meant twice the effort, but thanks to a new style sheet, it does not. Even better, it takes no extra work.

It is common to make XML documents available in multiple formats: HTML, PDF, WAP, i-mode, Windows Help, JavaHelp, and RSS are the most popular. For example, a technical document may be distributed in HTML, PDF, and Windows Help. A website, on the other hand, would typically be HTML and RSS, while an intranet may be available as HTML and WAP (or i-mode) for mobile workers.

With XML/XSL, multi-publishing is fully automated and requires no additional work for the webmaster.

We have introduced an XML/XSL publishing solution that is designed for small- to medium-sized websites (up to 1000 documents) that are updated daily -- most websites and intranets. For larger sites or sites that are updated more frequently, we recommend other solutions such as Cocoon or Zope.

Whether it is for an intranet, a website, a technical document, or any other document management and/or publishing issue, we can help you choose and/or install the most effective XML solution.
Ask us for a free quote, no strings attached.

We cannot cover the more technical aspects of XML/XSL publishing in this document. If you want to install such a solution and retain the control over it, we can still help!

In addition to the services described above, we also offer training, analysis, modelling and development (XSL, schema and Java) services.
Inquire about our training and other services now.


Last update: May 2004.
© 1995-2006, Pineapplesoft sprl. All rights reserved.
Design, XSL coding & photo: PineappleSoft OnLine.