

































|
| |
Xalan-Java (named after a rare musical instrument) fully implements 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.
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).
 | The XSL stylesheet may generate and refer to cascading style sheets (CSS) as part of its output. |
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:
By default, Xalan-Java uses Xerces-Java, and it may be configured with system properties to work with other XML parsers (see Plugging in a Transformer and XML parser). The input may be submitted in the form of a stream of XML markup (from a URI, a character or byte stream, or another transformation), a SAX InputStream, or a DOM Node.
Xalan-Java performs the transformations specified in the XSL stylesheet and packages a sequence of SAX events that may be serialized to an output stream or writer, used to build a DOM tree, or forwarded as input to another transformation.
|
 |  |  |  | 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:
- XSLT - XSL Transformations in
The XML Revolution: Technologies for the future Web by
Anders Møller and Michael I. Schwartzbach (Web pages, but designed for sequential reading)
- Crane Softwright's Free preview of Practical
Transformation Using XSLT and XPath
- Doug Tidwell's XSLT, O'Reilly, 2001
- Bob Ducharme's XSLT Quickly, Manning Publications,
2001
- John Robert Gardner and Zarella Rendon's
XSLT and XPath: A Guide to
Transformations, Prentice-Hall, 2001
- Michael Kay's XSLT Programmer's
Reference, 2nd ed., Wrox Press, 2001
- Steven Holzner's Inside XSLT,
New Riders, 2001
- Neil Bradley's XSL Companion,
Addison-Wesley, 2000
- Khun Yee Fung's XSLT: Working with XML and
HTML, Addison-Wesley, 2001
- Dave Pawson's XSL Frequently Asked Questions to search out particular answers and techniques
- Miloslav Nic's XSL Tutorial,
a collection of stylesheet examples
- Elliotte Rusty Harold's Chapter 14 of
the XML Bible: XSL Transformations
- The Mulberry XSL-List -- Open Forum on XSL
(of interest to XSL users at all levels)
- Objects by Design's Transforming XMI to
HTML (oriented towards XMI, "an XML-based, stream representation of a UML model," but also covers "generic"
XML transformations) and their related XSLT
by Example
- OASIS (the Organization for the Advancement of Structured Information Standards):
Extensible Stylesheet Language (XSL) by Robin
Cover
- Donald Ball's A Guide to XML and XSL for
Designers
When you come across other useful introductory or background materials, please email Xalan Development Mailing List, so we can add them to this list.
|
| |
- XSLT Namespace
- The XML namespace for XSLT. An XML namespace is a
collection of element and attribute names, identified by a Unique Resource Identifier (URI), which often takes the form of
a URL, but is really just a unique string, not a pointer to a web page. The XSLT namespace URI is
http://www.w3.org/1999/XSL/Transform. In each XSLT stylesheet, you must declare this namespace in the stylesheet element
tag and bind it to a local prefix. Like the XSLT specification, we always use xsl as the XSLT namespace prefix in our
descriptions and examples, although you are free to bind any prefix to this namespace.
- XSL Instruction
- Any tag associated with the XSLT namespace.
- 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 that occurs inside an xsl:template element and is associated with the XSLT namespace.
- Source Tree
- The XML tree input to the XSL process.
- Result Tree
- The tree that is output by the XSL process.
- 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 and the Glossary in Michael Kay's
XSLT Programmer's Reference.
|
|
|