Xalan è una specifica per trasformare i documenti XML (Extensible Markup Language) in HTML (Hypertext Markup Language) o altri tipi di documenti XML. Xalan-Java versione 1.2 si basa sui consigli del World Wide Web Consortium (W3C) per Extensible Stylesheet Language Transformations (XSLT) e XML Path Language (XPL). Xalan normalmente utilizza il parser XML Xerces, ma può utilizzare qualsiasi parser conforme al livello 2 DOM (Document Object Model) o al livello 1 dell'API semplice per XML (SAX).
Xalan-Java versione 2 riformula Xalan come un'implementazione delle interfacce Transformations for XML (TraX). TRaX fornisce un framework modulare e un'interfaccia di programmazione dell'applicazione standard per eseguire una gamma aperta di trasformazioni XML. Insieme a TRaX, Xalan-Java 2 fa affidamento sulle proprietà del sistema per configurare le sue impostazioni operative. Le impostazioni predefinite puntano al processore del foglio di stile Xalan, ai serializzatori forniti con Xalan e al parser SAX di Xerces. Xalan-Java versione 2 si basa su SAX livello 2, DOM livello 2 e l'API Java per l'analisi XML.
Xalan-C ++ versione 1.0 è un'implementazione dei consigli W3C per XSLT e XPath. Utilizza il parser XML di Xerces-C ++ versione 1.3.0.
LotusXSL, che era una specifica a sé stante, è stata riformulata come sotto-specifica di Xalan.