March 7, 2005: Look and Feel

In February 2005 Daly Web and Edit moved to a new host, which triggered a new look at the site. There are several things I'd like to accomplish here, and the first is a consistent look and feel. I want that navigation to be simple and the same on every page, and I want a similar layout on every page.

This is something that many clients request, and we've usually addressed it with the scripts we write for them. At Index Infocus we wrote an Apache module to handle many of the pages, including the ad placement, and turned the rest over to the search engine. This engine requires certain templates, which assemble the page the reader sees.

Our new host didn't seem a suitable place for such a solution. The host doesn't seem to support Apache modules, must less a module driven by entries in the Apache configuration files, so I needed a new solution.

I wondered, why do I do these things on the fly? This page, while it is similar to other pages at DalyWebAndEdit.com, won't change once it's been through final edit, and you won't see it until it is. I write these things in an XML editor, so that while it looks like HTML and functions like HTML, it follows a stricter set of rules. All of which is to say we selected Extensible Stylesheet Language (XSL) as a means of building that consistent page structure and cascading style sheets for a consistent feel.

XML is a set of rules for construction of a markup language. Its scope keeps expanding as people try to share data across the Web. You can even find an experiment at the SEC to publish financial statements using an XML markup. The rules can be found at W3C, which promulgated them. A summary follows:

All published documents that have been digitally formatted contain markup. WordPerfect will show you its markups (Reveal Codes), but Word will not. Most markup has been in a binary format, and the user relied on the WYSIWYG engines to show by example what the markup meant. We at DalyWebAndEdit.com have been using written codes on manuscripts so that the compositor would know how to set the copy. These markup schemes are typesetting driven. The markup describes how the final document will look.

XML, by contrast, describes the structure of the document and uses style sheets to display the results. At DalyWebAndEdit.com we use a single style sheet to describe every page so that all of our pages have a consistent look.

The style sheets come in two flavors, cascading style sheets and Extensible Stylesheet Language. We use the former to set fonts, kerning, and color and the latter for layout. And layout here means a great deal.

Web pages consist of two main sections, the head and the body. The head contains the title of the page and some information for search engines, word processors, and other programs; the body contains the page layout and its text. We at DalyWebAndEdit.com like our little maze in the upper right corner. We especially like the copyright notices at the bottom, and we hope you like the navigation aid on the left. That's what I mean by layout, and it's that structure I want on every page.

We're now using the XSL to add this layout information to each page just prior to publication. I developed a style sheet that will generate the look and feel I like. I use Xalan from Apache.org to generate the new HTML page from my XML input and new XSL style sheet. I can post simple pages to DalyWebAndEdit.com's host and get my consistent look and feel too.

I'd like to try this out on other sites. The basic site management requires an archive on the unprocessed pages, one or more XSL templates for conversion, some scripts to manage the process, and a staging area for transfer to your host. If you're interested, email me.

Editor's note: Bill is a programming purist. I am a language purist. (So far we have not killed each other, although I cannot cure him of calling hyphens dashes.) But I digress. For those of you who notice inconsistencies, style sheet is still two words according to the dictionaries, but the folks who developed XSL forgot to look it up. Also, although I have always thought that World Wide Web should be Worldwide Web, no one agrees with me, and I bow to superior numbers if not superior knowledge. However (are you paying attention, Bill?), its nickname Web is still capped. At least in these pages. Harrumph.