Using XSLT with XML
I got a fascinating e-mail from a reader based on my last tip, wherein the question was raised "How can I find an XSLT processor that doesn't use Java?" A quick run-down of the available tools in my head left me scratching that sometimes-overused body part (my head, that is). After a mental review of my recollection of the best such tools out there, that question quickly turned into: "Are there any XSLT processors that don't use Java?"
I'm pleased to say that although many XSLT processors were initially developed using Java, including all the ones I'm most familiar with--Oracle XML Parser for Java, SAXON, Xalan, and xt--some of these venerable tools, and lots of other tools, are available in other languages, and that many such tools avoid using Java altogether. Please note that although I'm a devoted Java enthusiast myself, I don't question other peoples' desires to avoid that particular language in their computing environments. Just because I like it and use it, doesn't mean others have to feel the same way.
The way I discovered the answer to this question is probably as useful as the details that I uncovered, so let me begin by recommending the Website www.xmlsoftware.com to anyone who's interested in just about any XML development topic. This terrific site includes four menu categories related to XSL, as follows:
- XSL formatters: this category deals with software that implements the "other side" of XSL--namely, XSL Formatting Objects, or XSL-FO. Although it's not germane to the reader's original question, you will find an interesting and surprisingly large set of tools here.
- XSLT editors: this category covers tools that may be used to create XSLT stylesheets, but many of these tools offer more than that, and include basic XSLT processing capabilities to permit testing while developing such stylesheets. I'd suggest investigating one or more of these tools, in addition to an XSLT processor, if you plan to get serious about this subject.
- XSLT engines: this category is right up my reader's alley, and deals with tools that process XSLT stylesheets. In slightly different, and perhaps more general, terminology, this means run-time programs that take an XML document and apply an XSLT stylesheet to create some alternate form of output, such as HTML. More on this topic below...
- XSLT utilities: this category includes all kinds of miscellaneous tools and jewels that do something with XSLT that don't fit squarely into any of the three preceding categories. Some of the links are out of date (e.g., Microsoft's XSL links have moved, as they so often do), but there's a lot of good stuff here, too.
What does this mean to the reader who raised his initial question? It means he has many, many options from which to choose that will allow him to process XSLT stylesheets against XML documents for delivery in some other form (probably HTML). What does this mean to the rest of us, whose needs may be neither so pressing nor particular? It means that the XML-XSLT combination is maturing, that lots of options for different kinds of environments are available, and that we should all start playing with one or more of these engines to see which one fits the our runtime environments the best.
For the record, my company already uses the Xalan XSLT engine from the Xerxes project (Apache.org's XML initiative). And yes, our version is the Java-based one...
Send an e-mail to Ed at firstname.lastname@example.org if you have questions on this or other XML topics. With a good XSLT processor in hand, some XSLT stylesheets to operate on, and some XML documents to process, the world could be your oyster!
Ed Tittel is a principal at LANWrights, Inc., a wholly owned subsidiary of LeapIt.com. LANWrights offers training, writing, and consulting services on Internet, networking, and Web topics (including XML and XHTML), plus various IT certifications (Microsoft, Sun/Java, and Prosoft/CIW).
Did you like this tip? If so, why not let us know? Email to sound off, or to submit a tip of your own.
XSLT: Working with XML and HTML
Author : Khun Yee Fung
Publisher : Addison Wesley
ISBN/CODE : 0201711036
Cover Type : Soft Cover
Pages : 464
Published : Dec 2000
XML is fast becoming the standard for structuring documents for web-based information exchange. However, for XML documents to be displayed on a web browser, they must be "transformed" -- into XSL documents on the client side, or HTML documents on the server side. XSLT, recently finalized by the W3C, is a lightweight language designed specifically for this purpose -- but reliable XSLT documentation has been extremely scarce. This is the first practical, comprehensive XSLT tutorial and reference based on the final standards -- which changed significantly from earlier drafts.