The Foundation: XML, XSL, X-Link (4/4) - exploring XML
It is important to understand that information expressed in XML is useful no matter if the used document type definition (DTD) is based on an official standard, a de-facto standard, or has been invented by yourself. If you (like me) decide to write your articles with a self- invented structure this is just fine. Sharing information in a well-defined group of people requires only this group to agree on a vocabulary. If you want to talk to the whole world though, you increase your chances to be understood by adopting standards-based DTDs where they exist. If you want to leverage third party tools (like me with the linking example later) you should comply with at least subsets of official standards, e.g. a subset of the extended link specificaton. So by the time XML-LinkBot becomes available I can use it to check integrity of my links right away. It all depends on the intended reach of the information, and if you are not standard right away, don't despair: It is always possible to transform a XML document from one type to another using XSL-T, given they contain the same semantic information.
So where is my XML browser?
With XSL and X-Link in place, what is missing for a pure XML browser? It is XSL-FO. The only possibility today for rendering something in a browser window is to transform XML to HTML with XSL-T. This has been illustrated in my first article on this column. There are several projects experimenting with XSL-FO already now, and we will look at those in later installments of the column.
The future: XHTMLXHTML 1.0 is a reformulation of HTML 4.0 in XML. It tries to accomplish two goals:
- To accomodate extensions to the HTML tag set through XHTML modules, allowing for combinations of existing and new feature sets in both content and user agent development.
- To take into account the increasing numbers of non-PC devices on the Internet, especially Personal Digital Assistants (PDAs) and mobile phones using Wireless Application Protocol (WAP). These devices have very different display characteristics and capabilities, such as size and color depth, to which the output needs to be tailored.
Meanwhile: Server-side processing
How can I dare to tell you about all these wonderful new things, and then admit they are all not quite here yet from a browser perspective? Well, easy: You can do all of these things on the server side today. If you read that far, you deserve a reward. Here is a small demo that takes a collection of self-defined links and renders them either as a nested group of hyperlinks or as a Hierarchical Menu (© Peter Belesis), depending on your choice here but probably more useful in conjunction with browser detection.
Exploring XMLHierMenus: When XML and DHTML unite to form the Web's New Dream Team
Created: Dec. 20, 1999
Revised: Dec. 21, 1999