http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Overview

Downloads
Getting Started

FAQs

Sample Apps
Command Line
Usage Patterns

API (Javadoc)

Xalan DTM
Extensions

Release Notes

Bug reporting

Introduction
 

Xalan (named after a rare musical instrument) fully implements the W3C Recommendation 16 November 1999 XSL Transformations (XSLT) Version 1.0 and the XML Path Language (XPath) Version 1.0. XSLT is the first part of the XSL stylesheet language for XML. It includes the XSL Transformation vocabulary and XPath, a language for addressing parts of XML documents. For links to background materials, discussion groups, frequently asked questions, and tutorials on XSLT, see Getting up to speed with XSLT.

NoteXSL also includes a vocabulary for formatting documents, which is still under design and is not part of Xalan. For more information, see W3C XSL Working Draft and the Apache XML FOP (Formatting Objects Project).

You use the XSLT language to compose XSL stylesheets. An XSL stylesheet contains instructions for transforming XML documents from one document type into another document type (XML, HTML, or other). In structural terms, an XSL stylesheet specifies the transformation of one tree of nodes (the XML input) into another tree of nodes (the output or transformation result).

NoteThe XSL stylesheet may include cascading style sheets (CSS) in the result.

In the following example, the foo.xsl stylesheet is used to transform foo.xml into foo.out:

foo.xml:

<?xml version="1.0"?>
<doc>Hello</doc>

foo.xsl:

<?xml version="1.0"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="doc">
<out><xsl:value-of select="."/></out>
</xsl:template>
</xsl:stylesheet>

foo.out:

<out>Hello</out>

By default, Xalan uses a high-performance Document Table Model (DTM) to parse XML documents and XSL stylesheets. It can be set to use the Xerces-Java XML parser, and it can be adapted to work with other DOM-producing mechanisms and SAX document handlers. The input may appear in the form of a file, a character stream, a byte stream, a DOM, or a SAX input stream.

Xalan performs the transformations specified in the XSL stylesheet and produces a document file, a character stream, a byte stream, a DOM, or a series of SAX events, as you specify when you set up the transformation.


Xalan Features
 

Getting to work with Xalan
 

For instructions and some suggestions about how to get started using Xalan, see Getting Started.


Getting up to speed with XSLT
 

If you are still working through the details of the XSLT spec (the W3C 1.0 Recommendation), you may want to consult one or more of the following:

When you come across other useful introductory or background materials, please email Don Leslie, so he can add them to this list.


Glossary
 
XSL Instruction
Any tag with an XSL namespace prefix.

Template
An element, usually with child elements, that specifies a "rule" or set of instructions to perform when a particular kind of node is encountered in the source tree.

XSL Template Instruction
Any tag with an XSL namespace prefix that occurs inside an xsl:template element.

Template Child
Any node that is a child of an xsl:template element.

Source Tree
The tree input to the XSL process.

Result Tree
The tree that is output by the XSL process.

Stylesheet Tree
The stylesheet tree produced from the XSL file.

Match Pattern
The part of a template that defines the kind(s) of nodes to which the template applies.

For more definitions of XSLT terminology, see Dave Pawson's XSLT Terminology Clarification.



Copyright © 2000 The Apache Software Foundation. All Rights Reserved.