A complete and holistic XML processing framework in Objective-C. Currently a work in progress.
The first part of this library is an object-orented framework built upon the XML tree and stream APIs provided by the GNOME project's libxml. The Objective-C objects are created automatically and linked to their C counterparts through some glue code in xml_glue.m, which installs creation/destruction event handlers and uses those to allocate/release the appropriate Objective-C objects, storing them in each
The most interesting thing here at present is the implementation of Canonical XML Version 2.0, which is a W3C standard currently in Candidate Recommendation status. This project has been published in order that it serve as one of the two implementations required to move the standard from candidacy to publication.
The Canonicalization implementation can be found here.
Also found within are the beginnings of implementations for XML Encryption Version 1.1 and XML Signature Version 1.1. You can find cryptographic algorithms defined in AQXMLCryptoAlgorxithm.mm, with signature algorithms in AQXMLSignatureAlgorithm.m.
This repository contains a 41MB static archive containing a compiled version of the Crypto++ library. This proved necessary in order to get a good implementation of AES-GCM on iOS and OS X. This library will not be included verbatim in the resulting project, as only a fraction of its very template-based code will be utilized. The resulting debug build of this project on OS X amounts to 5.4MB in size, and this will very likely shrink further when compiled for release or for iOS using Thumb mode.