Crate xmpp_parsers
source ·Expand description
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 manipulated 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.
Modules§
- XML namespace definitions used through XMPP.
- RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC 6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
- RFC 7395: An Extensible Messaging and Presence Protocol (XMPP) Subprotocol for WebSocket
- XEP-0004: Data Forms
- XEP-0030: Service Discovery
- XEP-0045: Multi-User Chat
- XEP-0047: In-Band Bytestreams
- XEP-0048: Bookmarks
- XEP-0049: Private XML storage
- XEP-0054: vcard-temp This module implements vCard, for the purpose of vCard-based avatars as defined in XEP-0054.
- XEP-0059: Result Set Management
- XEP-0060: Publish-Subscribe
- XEP-0066: OOB
- XEP-0071: XHTML-IM
- XEP-0077: In-Band Registration
- XEP-0082: XMPP Date and Time Profiles
- XEP-0084: User Avatar
- XEP-0085: Chat State Notifications
- XEP-0092: Software Version
- XEP-0107: User Mood
- XEP-0114: Jabber Component Protocol
- XEP-0115: Entity Capabilities
- XEP-0118: User Tune
- XEP-0122: Data Forms Validation
- XEP-0153: vCard-Based Avatars This module implements vCard avatar updates defined in XEP-0153.
- XEP-0157: Contact Addresses for XMPP Services
- XEP-0166: Jingle
- XEP-0167: Jingle RTP Sessions
- XEP-0172: User Nickname
- XEP-0176: Jingle ICE-UDP Transport Method
- XEP-0177: Jingle Raw UDP Transport Method
- XEP-0184: Message Delivery Receipts
- XEP-0191: Blocking Command
- XEP-0198: Stream Management
- XEP-0199: XMPP Ping
- XEP-0202: Entity Time
- XEP-0203: Delayed Delivery
- XEP-0215: External Service Discovery
- XEP-0221: Data Forms Media Element
- XEP-0224: Attention
- XEP-0231: Bits of Binary
- XEP-0234: Jingle File Transfer
- XEP-0257: Client Certificate Management for SASL EXTERNAL
- XEP-0260: Jingle SOCKS5 Bytestreams Transport Method
- XEP-0261: Jingle In-Band Bytestreams Transport Method
- XEP-0264: Jingle Content Thumbnails Jingle thumbnails (XEP-0264)
- XEP-0280: Message Carbons
- XEP-0293: Jingle RTP Feedback Negotiation
- XEP-0294: Jingle RTP Header Extensions Negotiation
- XEP-0297: Stanza Forwarding
- XEP-0300: Use of Cryptographic Hash Functions in XMPP
- XEP-0301: In-Band Real Time Text
- XEP-0308: Last Message Correction
- XEP-0313: Message Archive Management
- XEP-0319: Last User Interaction in Presence
- XEP-0320: Use of DTLS-SRTP in Jingle Sessions
- XEP-0328: JID Prep
- XEP-0338: Jingle Grouping Framework
- XEP-0339: Source-Specific Media Attributes in Jingle
- XEP-0352: Client State Indication
- XEP-0353: Jingle Message Initiation
- XEP-0359: Unique and Stable Stanza IDs
- XEP-0363: HTTP File Upload
- XEP-0369: Mediated Information eXchange (MIX)
- XEP-0373: OpenPGP for XMPP
- XEP-0380: Explicit Message Encryption
- XEP-0380: OMEMO Encryption (experimental version 0.3.0)
- XEP-0386: Bind 2
- XEP-0390: Entity Capabilities 2.0
- XEP-0402: PEP Native Bookmarks
- XEP-0421: Anonymous unique occupant identifiers for MUCs
- XEP-0441: Message Archive Management Preferences
- XEP-0444: Message Reactions
- XEP-0484: Fast Authentication Streamlining Tokens
Re-exports§
Enums§
- Error variants generated while parsing or serialising XML data.