An alternative is to create a good D wrapper for Zorba. I haven't
tried Zorba myself, but it provides XQuery3/JSONiq support and is
written to be embeddable (C++/C).
XQuery FLWOR expressions might work out ok combined with caching.
FLWOR is supposedly easier for many programmers than XSLT and
provides roughly the same expressive power. Both XQuery and XSLT
are declarative languages and XPath based.
http://www.zorba.io/
http://www.jsoniq.org/
D badly needs to show support for XML infrastructure to be taken
seriously.