#xml-parser #xml #xmpp #xml-element #jabber

xmpp-parsers

Collection of parsers and serialisers for XMPP extensions

28 releases (breaking)

0.20.0 Aug 20, 2023
0.19.2 Dec 17, 2022
0.19.1 Jul 13, 2022
0.19.0 Mar 7, 2022
0.7.1 Jul 24, 2017

#799 in Parser implementations

Download history 10/week @ 2023-11-20 8/week @ 2023-11-27 3/week @ 2023-12-04 15/week @ 2023-12-11 24/week @ 2023-12-18 62/week @ 2023-12-25 22/week @ 2024-01-08 7/week @ 2024-01-22 9/week @ 2024-01-29 51/week @ 2024-02-05 22/week @ 2024-02-12 111/week @ 2024-02-19 114/week @ 2024-02-26 55/week @ 2024-03-04

306 downloads per month
Used in 11 crates (9 directly)

MPL-2.0 license

795KB
17K SLoC

xmpp-parsers

What’s this?

A crate which provides parsers and serialisers for most XMPP elements, to avoid having to deal with XML manually. It validates its inputs by default, and aims at providing useful errors when a particular XML element was invalid.

What license is it under?

MPL-2.0 or later, see the LICENSE file.


lib.rs:

A crate parsing common XMPP elements into Rust structures.

Each module implements the TryFrom<Element> trait, which takes a minidom Element and returns a Result whose value is Ok if the element parsed correctly, Err(error::Error) otherwise.

The returned structure can be manipuled as any Rust structure, with each field being public. You can also create the same structure manually, with some having new() and with_*() helper methods to create them.

Once you are happy with your structure, you can serialise it back to an Element, using either From or Into<Element>, which give you what you want to be sending on the wire.

Dependencies

~6MB
~178K SLoC