Hi, I'm writing a cross-platform Mac/Windows app, and advised my client to use the XML format for some data files she needs.
But I'm afraid I'm not particularly experienced with XML, and before getting Xerces a few weeks ago, had no experience with using it in a program. I'm using the Metrowerks CodeWarrior Pro 5 development environment. I've always been impressed with CodeWarrior on the Mac, and feel much more comfortable with it on Windows than competing products. But Xerces doesn't come ready for use with CodeWarrior for Windows. I got a project made, and made the right config files and stuff to do that, and added some checks for the environment (in this case, __MWERKS__ is defined on a Windows platforms; commonly people use that to detect that they're on a Mac but that's not what you want to do really) and got it to build. I had no end of problems with the Win32 transcoding service. What it looks like to me is that the ANSI wide char routines that are documented for windows simply don't work the same in metrowerks as they do in VisualC++. The result was that the lengths that the widechar routines would calculate buffers would need would always be zero. I worked around these problems in various ways, in part by just counting the characters and in part by calling the Windows routines like WideCharToMultiByte and so on. I'm able to make several of the sample programs work OK, that came with Xerces (DOMCount, DOMPrint, etc.). But when I use it in my program, I have no end of trouble. I get all kinds of weird crashes. I am initializing the library in my application's constructor. I'm trying to use a source debugger to diagnose my problems but it's useless - no matter what I do I don't get a stack crawl or a crash in a source file. One thing I'm also doing differently is that I built Xerces as a static library. I felt more comfortable doing this for now because I'm not an expert windows programmer. I may change it to a DLL later. I'm downloading an update to CodeWarrior right now, maybe it'll fix the wide char problems. Also I'm going to try the Xerces 1.1.0 that apparently was just released. If I can get a sane CodeWarrior build I expect I can return my changes to you folks. I'll have to check with my client. Mike Crawford GoingWare - Expert Software Development and Consulting http://www.goingware.com [EMAIL PROTECTED]
