většina XSLT procesorů má API
transformace lze spouštět programově
vstup a výstup transformace nemusí být jen soubor, ale klidně DOM strom, proud událostí SAX apod.
některé parsery obsahují i procesor XPath a umožňují vyhodnocování výrazů nad dokumentem – velmi pohodlné pro programátora
// vytvoření XPath navigátoru pro dokument XPathDocument doc = new XPathDocument("faktura.xml"); XPathNavigator nav = doc.CreateNavigator(); // sečtení faktury přímo pomocí XPath výrazů double suma = (double) nav.Evaluate("sum(/faktura/polozka/cena)"); System.Console.WriteLine("Celkem Kč: " + suma); // vytvoření iterátoru pro všechny elementy cena XPathNodeIterator iter = nav.Select("/faktura/polozka/cena"); // průchod vybranými uzly while (iter.MoveNext()) { double sazbaDPH = Double.Parse(iter.Current.GetAttribute("dph","")) / 100; double castka = Double.Parse(iter.Current.Value); suma += castka; sumaDPH += sazbaDPH * castka; } // výpis statistiky System.Console.WriteLine("Celkem Kč: " + suma); System.Console.WriteLine("Celkem DPH: " + sumaDPH);