It's not that often I have definite plans for Arabica, but I have one at the moment. The next Arabica release will be "tidying up".
Because Arabica's grown rather organically over the past several years, it's not especially consistent about all kinds of things. Some of those things aren't especially important, but some are and some are just niggling me a bit.
In relative short order, I intend to do the following
- All Arabica header files will have .hpp rather than .h extensions. (Already committed - did it last night while watching the telly).
- Anything in a directory called Util is liable to be renamed to something more descriptive.
- The SAX and DOM namespaces will be moved into the Arabica namespace.
- Those template classes which are only parameterised on string type will be extended to take a string adaptor class as well.
- Template classes named basic_Something will be renamed Something. This primarily effects SAX classes.
- Typedef of templates on particular string classes will be removed. Again, this primarily effects SAX classes.
- (Anything else along these lines that occurs to me.)
This is the first time I've knowingly made changes to Arabica which break existing code. Hopefully those these changes should be relatively easy to deal with.
- Items 1 and 2 require a simple source change or tactical introduction of forwarding headers.
- Item 3 can be mitigated the using namespace declaration.
- Item 4 should actually require no change in client code at all and, unless you're doing something really wacky that this change is intended to prevent you shouldn't notice.
- Items 5 and 6 require straightforward source changes, or the introduction of your own typedefs.
There will no changes to any functionality or the addition of any new code until this is done. I don't want it to drag on, so I'm aiming to get this done in the next few weeks (work/children/dog/other commitments allowing).
After that, it's back on XSLT, which will also bring in some DOM Level 3 additions. After that, whenever that is, dunno. We'll see.