Arabica, an XML and HTML processing toolkit written in C++. Arabica has a full SAX2 implementation. Layered on SAX is a DOM Level 2.0 implementation, together with an XPath engine and XSLT processor. It delivers UTF-8 encoded std::strings or UCS-2 std::wstrings, but can also accommodate custom string types and alternative encodings. It provides uniform SAX2 wrappers for the expat parser, Xerces, libxml and, on Windows, for the Microsoft XML parser COM component.
With a collection of composable algorithms, iterators, and predicates Mango brings functional programming techniques to Java development.