XML-Dokument-Teile werden in XSLT durch die Teilsprache XPath [8] adressiert.
Formal wurde ein Datenmodell für XML-Dokumente [12] festgelegt, das der Anfragesprache zugrunde liegen soll, und in bezug darauf eine Algebra von Anfrage-Operationen axiomatisiert [13][14].
Der erste Ansatz verwendet eine allgemeine Baumstruktur zur Darstellung von XML-Dokumenten. Zur Verarbeitung der XML-Bäumen wird eine Kombinator-Bibliothek bereitgestellt, die deren einfache Auswahl, Generierung und Transformation erlaubt.
Der zweite Ansatz übersetzt XML-DTDs in algebraische Datentypen für Haskell mit entsprechenden Ein- und Ausgabefunktionen.
Besonderheiten der Sprache sind spezielle Typen, die den regulären Ausdrücken der DTDs entsprechen [19], ein mächtiger Subtypenbegriff und Musteranpassung (pattern matching) [20].
XMlambda basiert auf einer neuen Variante bekannter Record-Kalküle -- genannt type-indexed rows (TIR) [22] --, in der Typen anstelle von speziellen Feldnamen die Rolle von Record-Indizes übernehmen.