I agree that, as usual, the answer depends on your situation.
If you currently have functional exporters from XSI, then presumably your engine isn’t starved for assets - in other words, you don’t need to get a Collada exporter working before you can do work on your engine. If this presumption is correct, you’ve got a bit more flexibility in your choice.
It also depends on how much time you have to apply to the tool chain, versus how much fine-grained control you need. If you don’t have a lot of time to ramp up, the higher-level solution is probably the right one.
For me, I’ve had quite a bit of experience writing data handling pipelines and dealing with different packages and formats. I also have a functioning engine that I already had data available for - I used the .x format as my intermediary format, until I started to need features that either the format or the .x exporters didn’t handle (not sure which). Then I started switching over to Collada as my intermediary format.
I decided that I’d rather dig into things at the DOM level so there wouldn’t be much between me and the raw data. It took me a little while to ramp up, but I think it was the right call in retrospect.
I will say that a drawback to approaching importing Collada data at the DOM level (or, if you’re a serious masochist, at the raw XML level) is that the format is rather flexible. That is to say, there are a bunch of different ways of specifying the same data that are all valid within the Collada schema.
I’ve decided to take the somewhat paradoxical sounding rigid/flexible approach in response to this: The import code I’m writing doesn’t pretend to accept all valid Collada input - rather, it robustly handles the subset of Collada data that I’ve seen in exporting our current assets, and will throw exceptions if the data is outside the handled subset (so, in that sense, it’s rigid); the code is also nimble and adaptable enough so that adjusting it to handle additional subsets of valid Collada input that we encounter is fairly trivial (so, in that sense, it’s flexible).
Anyways, this is clearly not a definitive answer, but hopefully this sheds a bit of light on the decisions that went into our choices. Best of luck.