Xalan

Xalan is an Apache Software Foundation project that provides an open-source implementation of the [[XSLT (Extensible Stylesheet Language Transformations)]] and [[XPath]] (XML Path Language) specifications. Xalan is written in [[Java]] and is designed to transform [[Extensible Markup Language|XML]] documents using XSLT stylesheets and perform XPath queries on XML data.

The Xalan project consists of two main components:

  1. Xalan-Java (Xalan-J): This is the Java-based implementation of Xalan. It provides a set of libraries and tools for processing XML documents with XSLT and XPath. Xalan-J supports various versions of the XSLT and XPath specifications, offering developers the ability to transform and query XML data.
  2. Xalan-C++ (Xalan-C): In addition to the Java version, there is also a [[C++]] implementation of Xalan. Xalan-C++ provides similar functionality to Xalan-J but is written in C++ and can be used in C++ applications.

Xalan allows developers to transform XML documents using XSLT stylesheets. XSLT is a language for transforming XML documents into different formats, such as [[HTML]], [[XHTML]], or other XML documents.

Xalan supports XPath, a language for navigating XML documents and selecting nodes based on certain criteria. XPath is often used in conjunction with XSLT for specifying patterns and conditions during transformations.

Xalan provides extension mechanisms, allowing developers to integrate custom Java or C++ extensions into their XSLT stylesheets. This can be useful for adding custom functions or accessing external resources during the transformation process. Xalan supports streaming and chunked processing, enabling the processing of large XML documents without loading the entire document into memory.