
Gennadiy Rozental wrote:
IMO, Unicode support is way beyond string template parameter. Unicode means different character sets to support, different encoding format, different encoding schemes sets and different tradeoffs in optimization and all above.
I think it is important to distinguish between how expressive the API is concerning its string type, encoding, etc., and how the library (or its backend) actually deals with the content. The implementation I propose deals with unicode perfectly fine (storing utf-8 internally), but as far as the C++ XML API is concerned I delegate unicode access to a template parameter and associated traits that can be tuned for performance (to avoid copies, say), maintenance (to avoid certain runtime dependencies, for example), etc., etc. It's just a reflection on the orthogonality of the two domains we are dealing with. Regards, Stefan