Hello,
I've finally gotten around to add a generic interface to the libcroco selection engine. Pretty much just exchanging libxml calls to invocations on an vtable provided by the API consumer.
On top of that I reinstated the libxml-based API and made sure the tests (the selection engine is only used by test5) work as before.
Are you inkscapers still interested in eventually using upstream libcroco? Your internal copy seems to have deviated pretty much from upstream, it would be good if we could at least exchange fixes, things were not quite obvious looking at the raw rdiff. We (Thomas Wood + yours truly) actually tried to extract just the selection engine patch(es) from your svn repository, but it proved quite hard to make any sense of it.
My branch is at http://bzr-playground.gnome.org/~robsta/libccss-selection-engine/ but will go to trunk within the next few days, as the tests already work as they should.
Best, Rob