You can find a great deal of material on XSLT online, and its worth knowing whats out there. Note that all the following URLs are subject to change without noticethese lists are only as up to date as the people that maintain these sites allow them to be, and things can change frequently.
The starting place for XSLT resources, of course, is W3C itself. Here are the URLs for the W3C specifications that are used in this book:
www.w3.org/Style/XSL/. The main W3C XSL page.
www.w3.org/TR/xslt. The XSLT 1.0 specification.
www.w3.org/TR/xslt11. The XSLT 1.1 working draft, which makes it easier to extend XSLT, and adds support for the W3C XBase recommendation.
www.w3.org/TR/xslt20req. The XSLT 2.0 requirements, which offer a preview of XSLT 2.0, including more support for XML schemas.
www.w3.org/TR/xsl/. XSL Formatting objects.
www.w3.org/Style/2000/xsl-charter.html. Goals of the XSL committee.
www.w3.org/TR/xpath. The XPath 1.0 recommendation.
www.w3.org/TR/xpath20req. The XPath 2.0 requirements, which offer a preview of XPath 2.0, which includes more support for XSLT 2.0.
http://lists.w3.org/Archives/Public/www-xml-stylesheet-comments/. The W3C list on XML stylesheets.
Many XSLT tutorials and examples are available from other sources as well; heres a starter list:
http://http.cs.berkeley.edu/~wilensky/CS294/xsl-examples.html. A number of XSLT examples.
http://msdn.microsoft.com/xml/reference/xsl/Examples.asp. XSLT pattern examples used in matching elements.
http://msdn.microsoft.com/xml/XSLGuide/xsl-overview.asp. Getting started with XSLT.
www.lists.ic.ac.uk/hypermail/xml-dev/xml-dev-Nov-1999/0371.html. PowerPoint XSLT tutorial.
www.mulberrytech.com/xsl/xsl-list/. An open list dedicated to discussing XSL.
www.nwalsh.com/docs/tutorials/xsl/xsl/slides.html. XSLT tutorial.
www.oasis-open.org/cover/xsl.html. Coverage of whats going on in XSLT.
www.w3.org/Style/Activity. Good page listing whats going on at W3C on stylesheets.
www.xml101.com/xsl/. Good set of tutorials on XSLT.
www.xslinfo.com. Good collection of XSLT resources, collected by James Tauber.
www.zvon.org/xxl/XSLTutorial/Books/Book1/bookInOne.html. Tutorials on XSLT, XPath, XML, WML, and others.
I know of only one Usenet group on XSLT, however, and its run by Microsoft microsoft.public.xsl . Others will appear in time. You might also want to check out an XSL mailing listits at www.mulberrytech.com/xsl/xsl-list.
Besides W3C specifications, tutorials, and examples, youll also find plenty of editors that you can use to create XSLT stylesheets online.
To create the XML and XSL documents used in this book, all you need is a text editor of some kind, such as vi, emacs, pico, Windows Notepad or Windows WordPad. By default, XML and XSL documents are supposed to be written in Unicode, although in practice you can write them in ASCII, and nearly all of them are written that way so far. Just make sure that when you write a document, you save it in your editors plain text format.
Windows text editors such as WordPad have an annoying habit of appending the extension .txt to a filename if they dont understand the extension youve given the file. Thats not actually a problem with .xml and .xsl files, because WordPad understands the extensions .xml and .xsl, but if you try to save documents that you create while working with this book with extensions that WordPad doesnt recognize, itll add the extension .txt at the end. To avoid that, place the name of the file in quotation marks when you save it, as in file.abc.
However, it can be a lot easier to use an actual XML editor, which is designed explicitly for the job of handling XML documents. Heres a list of some programs you can use to edit XML documents:
Adobe FrameMaker www.adobe.com. Adobe includes great, but expensive, XML support in FrameMaker.
XML Pro www.vervet.com/. Costly but powerful XML editor.
XML Writer , on disk, XMLWriter http://xmlwriter.net/. Color syntax highlighting, nice interface.
XML Notepad msdn.microsoft.com/xml/notepad/intro.asp. Microsofts free XML editora little obscure to use.
eNotepad www.edisys.com/Products/eNotepad/enotepad.asp. A WordPad replacement that does well with XML and has a good user interface.
XMetal from SoftQuad www.xmetal.com. An expensive but very powerful XML editor, and many authors editor of choice.
XML Spy www.xmlspy.com/. A good user interface and easy to use.
Arbortexts Epic www.arbortext.com/. A powerful editor, expensive, and customizable.
You can see XML Spy at work in Figure 1.5, XML Writer in Figure 1.6, and XML Notepad in Figure 1.7.
In fact, some dedicated XSLT editors are available. Heres a starter list:
http://lists.w3.org/Archives/Public/xsl-editors/. A W3C list discussing XSL editors.
IBM XSL Editor www.alphaworks.ibm.com/tech/xsleditor. Java XSLT stylesheet editor that provides a visual interface for writing stylesheets and writing select-and-match expressions. Currently, you must have Java 2 version 1.1 (not 1.2 or 1.3) installed, however.
Stylus www.exceloncorp.com/products/excelon_stylus.html. Stylus includes an XSLT stylesheet editor.
Visual XML Transformation Tool www.alphaworks.ibm.com/aw.nsf/techmain/visualxmltools. Visual XML Transformation Tool generates XSLT for transforming source documents into target documents for you.
Whitehill Composer www.whitehill.com/products/prod4.html. A drag-and-drop, WYSIWYG XSLT generator of XSLT stylesheets.
XL-Styler www.seeburger.de/xml. Includes syntax highlighting, tag completion, HTML preview, and more.
XML Cooktop http://xmleverywhere.com/cooktop/. This one is just out, and it looks like a good one, it lets you develop and test XSLT stylesheets.
XML Spy www.xmlspy.com/. XML Spy is an XML editor you can also use to edit XSLT.
XML Style Wizard www.infoteria.com/en/contents/download. A tool for generating XSLT files. The wizard creates an XSLT file by examining XML data and asking the user questions.
xslide www.mulberrytech.com/xsl/xslide. Supports an XSLT editing mode for Emacs.
XSpLit www.percussion.com/xmlzone/technology.htm. Enables you to split HTML documents into XML DTDs and XSLT stylesheets.
There are also many XSLT utilities available on the Web, and the following list includes some favorites:
Microsoft XSL ISAPI Extension //msdn.microsoft.com/downloads/webtechnology/xml/xslisapi.asp. The Microsoft XSL ISAPI Extension simplifies the task of performing server-side XSLT transformations.
Microsoft XSL-to-XSLT Converter //msdn.microsoft.com/downloads/webtechnology/xml/xsltconv.asp. Converts XSL into XSLT.
XSL Lint /xsl/xslint. XSL Lint is a syntax checker for XSLT that detects many types of errors.
XSL Trace /tech/xsltrace. This product enables a user to visually step through XSLT.
XSLT Compiler /xml/developers/xsltc. Converts XSLT files into Java classes for transforming XML files.
XSLT test tool /xslt/xslt-tool.htm. This tool enables you to run XSLT with various popular processors so that you can make sure your transforms work well on all systems. It also enables you to call Microsofts MSXML3 from the command-line like any other XSLT processor.
XSLTC /x/xsltc. Compiles XSLT stylesheets into C++ code. Its based on Transformiix, Mozillas XSLT processor.
XSLTracer /xxl/XSLTracer/Output/introduction.html. XSLTracer is a Perl tool that shows how the processing of XML files with XSLT stylesheet works.
That completes your overview of XSLT in this chapter, the foundation chapter. As you can see, theres a tremendous amount of material here, waiting to be put to work in this book. The rest of this chapter provides an overview of XSL-FO.