I did NOT change createElementNode() to accept NsBindings by reference, because it turns out it's not even a source-compatible change. You can no longer do things like this to pass "no namespace bindings":
(which is done several times in the http-client module). Instead, you have to declare a local NsBindings instance and pass that by reference.
If we're going to go so far as to break source compatibility too, then I would actually change the API to accept a *pointer* to NsBindings, because passing NULL would be far more reasonable for the "no namespace bindings" case (which seems like it would be a pretty common case). If we don't want to break source compatibility, though, then we should just leave it as-is (in which case this branch can be merged in its current state).
I've added a ChangeLog comment.
I did NOT change createElementNode() to accept NsBindings by reference, because it turns out it's not even a source-compatible change. You can no longer do things like this to pass "no namespace bindings":
theResponse = theFactory- >createElementN ode(lNullParent , lNodeName, dQName, true, false, NsBindings());
theUntype
(which is done several times in the http-client module). Instead, you have to declare a local NsBindings instance and pass that by reference.
If we're going to go so far as to break source compatibility too, then I would actually change the API to accept a *pointer* to NsBindings, because passing NULL would be far more reasonable for the "no namespace bindings" case (which seems like it would be a pretty common case). If we don't want to break source compatibility, though, then we should just leave it as-is (in which case this branch can be merged in its current state).