The latest version of expat 1.X is available from ftp://ftp.jclark.com/pub/xml/expat.zip. New versions of expat will be available from expat.sourceforge.net.
Try the xml-dev mailing list (subscribe by mailing to majordomo@xml.org
with the message subscribe xml-dev). Alternatively try
the mailing lists hosted by sourceforge.net.
In xmlparse/xmlparse.h. There's also an advanced,
low-level API you can use which is documented in
xmltok/xmltok.h.
There's also an excellent article about expat on XML.com by Clark Cooper.
See sample/elements.c
By default, expat assumes that documents are encoded in UTF-8. In
UTF-8, ASCII characters are represented by a single byte as they would
be in ASCII, but non-ASCII characters are represented by a sequence of
two or more bytes all with the 8th bit set. The encoding most widely
used for European languages is ISO 8859-1 which is not compatible with
UTF-8. To use this encoding, expat must be told either by supplying
an argument of "iso-8859-1" to
XML_ParserCreate, or by starting the document with
<?xml version="1.0" encoding="iso-8859-1"?>.
expat has built in support for the following encodings:
utf-8utf-16iso-8859-1us-asciiAdditional encodings can be supported by using
XML_SetUnknownEncodingHandler.
You can't. expat is not a validating parser.
Compile with -DXML_DTD and call
XML_SetParamEntityParsing.
You can't. All well-formedness errors stop processing. Note that the XML Recommendation does not permit conforming XML processors to continue normal processing after a fatal error.
Use XML_SetCharacterDataHandler.
Compile with -DXML_MIN_SIZE. With Visual C++, use the
Win32 MinSize configuration: this creates an
xmlparse.dll that does not require
xmltok.dll.