That, unfortunately, requires a seperate download. You need to download the Xalan library (available at http://xml.apache.org/xalan-c/getstarted.html#download). I haven't really had time to play with it much yet, but it unfortunately looks somewhat cryptic. If I can ever figure it out, I'll post an example here.
I recently tried XML4C / Xerces and spent a lot of time and effort with it. In the end I gave up and went to LibXml ( http://xmlsoft.org ) which seems a lot nicer so far, at least depending on which features of XML you need.
Major problems I had with XML4C / Xerces were:
* Almost complete lack of documentation. It's fine to say "read the XML and DOM specs" but a lot of their classes are nothing to do with the XML and DOM specs. What little documentation there is is usually just some comments from the header files, if you're lucky -- usually nothing. (It's free so they don't have to make my life easy and I'm not complaining, just saying that I found it unusable in places.)
* No "save" method which means you have to write your own code to save XML to files. (There are some classes to help you do this but they are not documented. I got them to work after a lot of web searching and hacking through the source code, and I have to say I really didn't like the way things worked, but that's a matter of style / preference. Either way, you're looking at a lot of effort if you want to save XML to files.)
* The nail in the coffin was when I found that I was getting random errors which I think traced back to the fact that the Xerces DLL was calling "new" and expecting me to call "delete". This isn't safe if you're linking to a different version of the C Runtime to the DLL (which I was). Although I could've fixed the problem by recompiling the DLL (creating a version incompatible with other programs), this mistake (rather than providing a Delete/Free function stub in the DLL) seemed yet another sign of bad design and I figured that I'd wasted enough of my life fighting this thing already.
Xerces does seem to be a big, serious XML implementation so I'm sure it's great for some people. Personally, I'm very happy with LibXml ( http://xmlsoft.org ).
For every single thing some smart ppl wants me to use tons of undocumented classes. Life is too short for this. Not a great option. This XML stuff is a tiny little thing compare with an app has to do and should be done EASILY
Due to only just finding out how many versions of the XML parser there are out there (see http://msdn.microsoft.com/xml/general/replacemode.asp for details of this), I've downloaded and integrated the latest SDK and parser made available by Microsoft -- http://msdn.microsoft.com/xml/general/msxmlprev.asp
After adding "C:\Program Files\Microsoft Xml Parser Sdk\Inc" to my project source directories and "C:\Program Files\Microsoft Xml Parser Sdk\Lib" to the corresponding library section, the only change necessary to make the code compile/link/run on my system was to change the header file of XmlParserDlg.h from:
#include "msxml.h"
to
#include "msxml2.h"
For completness, my system configuration is:
Windows NT4.0 (Sp6) / Windows 2000 (Sp1)
Visual C++ ver 6 (Sp4)
Platform SDK (July 2000)
Internet Explorer 5.5
*new today* Microsoft XML Parser 3/SDK (September 2000).
I get some more compiler errors as follows even after including msxml2.h in the stdafx.h.
--------------------Configuration: xmlparser - Win32 Debug--------------------
Compiling...
XmlParserDlg.cpp
e:\xml\xmlparser\xmlparserdlg.cpp(96) : error C2065: 'CLSID_DOMDocument2' : undeclared identifier
e:\xml\xmlparser\xmlparserdlg.cpp(96) : error C2065: 'IID_IXMLDOMDocument' : undeclared identifier
e:\xml\xmlparser\xmlparserdlg.cpp(101) : error C2027: use of undefined type 'IXMLDOMDocument'
c:\program files\microsoft xml parser sdk\inc\msxml2.h(56) : see declaration of 'IXMLDOMDocument'
e:\xml\xmlparser\xmlparserdlg.cpp(101) : error C2227: left of '->put_async' must point to class/struct/union
e:\xml\xmlparser\xmlparserdlg.cpp(105) : error C2027: use of undefined type 'IXMLDOMDocument'
c:\program files\microsoft xml parser sdk\inc\msxml2.h(56) : see declaration of 'IXMLDOMDocument'
e:\xml\xmlparser\xmlparserdlg.cpp(105) : error C2227: left of '->load' must point to class/struct/union
e:\xml\xmlparser\xmlparserdlg.cpp(110) : error C2027: use of undefined type 'IXMLDOMDocument'