Im Prinzip verwendet XSLT dasselbe Datenmodell wie XPath (siehe 7.1). Jedes XSLT-Stylesheet arbeitet mit einem Eingabebaum und generiert mit Hilfe von in ihm enthaltenen Schablonen (templates) einen Ausgabebaum, der allerdings weder Kommentare noch Verarbeitungsanweisungen des Quelldokuments enthält.
Ein wohlgeformtes XML-Quelldokument besitzt unterhalb des Wurzelknotens genau ein Element, das des Dokumenttyps, etwa das Element poem für Gedichte:
<!DOCTYPE poem SYSTEM "poem.dtd"> <poem>
Für das Ergebnis einer Transformation gelten diese strengen Regeln nicht. Danach kann der Wurzelknoten durchaus mehrere Kindelemente enthalten, Element- wie Textknoten. Das kann heißen, dass ein solches Ergebnis kein wohlgeformtes XML-Dokument mehr ist.
Textknoten, die nur Leerzeichen enthalten (die in XML üblichen #x9, #x20, #xA, #xD), werden vor der Erzeugung des Zieldokuments aus dem Eingabebaum entfernt.