Hi, Rust developers!
I have been implementing an XML SAX parser in pure Rust. It was my first serious Rust project so it was educational as well as enjoyable.
The interesting idea in my parser is that I have separated interface and implementation.
I work as an enterprise integration consultant. In the Java world where XML is a first-class citizen, there is one interface and many implementations for XML parsers. I think there is a big intersection between people who use XML daily and people exposed to Java. So I tried to get inspiration from the SAX interface. The decision is like rust’s choice of being C-style. I think it will be easier for users with familiarity.
I have been able to parse a 3.5 GB XML file on an amazon micro instance with 1 GB ram and I think it is very fast(release) for common usage.(Benchmarks needed)
I’m open to your ideas about improving both Rust code and API. I’m also eager to chat and work with XML parser implementors on the SAX interface.
Beware that the libraries are not feature-complete yet.
Here is an example usage: