Dean Roddey wrote: The only comment I would add is that I would have picked 'unsigned int' instead of unsigned long. It would be the most natural value to use when a particular site is not required. The rest of the code uses unsigned int in such circumstances, so it would also insure the most interoperability without casting and the best performance (since it will be the natural word size and it won't require as many temp conversions from the compiler, right?)
------------------- On a related note, unsigned long, for instance, has a much more specific definition in IDL than it does in C++. On every platform, unsigned long in IDL means a 32-bit integer. However, unsigned long in C++ only has to be the same or wider than short. If we want to have Xerces interfaces to synch with the IDL definitions on every platform, then we need to use platform-specific typedef's. One approach would be just to lift the Microsoft Windows platform typedef's and have the methods have a signature like: ULONG getLength(); // by the way, why is NamedNodeMap getLength() not const In non-MS platforms, ULONG would be typedef'd to the appropriate 32-bit type. Otherwise, we would need to create our own typedef's (DOMULONG, for example)