Stanza Matchers
The Basic Matcher
ID Matching
- class slixmpp.xmlstream.matcher.id.MatcherId(criteria)[source]
The ID matcher selects stanzas that have the same stanza ‘id’ interface value as the desired ID.
- match(xml)[source]
Compare the given stanza’s
'id'attribute to the storedidvalue.- Parameters:
xml (
StanzaBase) – TheStanzaBasestanza to compare against.- Return type:
bool
Stanza Path Matching
- class slixmpp.xmlstream.matcher.stanzapath.StanzaPath(criteria)[source]
The StanzaPath matcher selects stanzas that match a given “stanza path”, which is similar to a normal XPath except that it uses the interfaces and plugins of the stanza instead of the actual, underlying XML.
- Parameters:
criteria (
str) – Object to compare some aspect of a stanza against.
- match(stanza)[source]
Compare a stanza against a “stanza path”. A stanza path is similar to an XPath expression, but uses the stanza’s interfaces and plugins instead of the underlying XML. See the documentation for the stanza
match()method for more information.- Parameters:
stanza (
StanzaBase) – TheStanzaBasestanza to compare against.- Return type:
bool
XPath
- class slixmpp.xmlstream.matcher.xpath.MatchXPath(criteria)[source]
The XPath matcher selects stanzas whose XML contents matches a given XPath expression.
If the value of
IGNORE_NSis set toTrue, then XPath expressions will be matched without using namespaces.- match(xml)[source]
Compare a stanza’s XML contents to an XPath expression.
If the value of
IGNORE_NSis set toTrue, then XPath expressions will be matched without using namespaces.- Parameters:
xml (
StanzaBase) – TheStanzaBasestanza to compare against.- Return type:
bool
XMLMask
- class slixmpp.xmlstream.matcher.xmlmask.MatchXMLMask(criteria, default_ns='jabber:client')[source]
The XMLMask matcher selects stanzas whose XML matches a given XML pattern, or mask. For example, message stanzas with body elements could be matched using the mask:
<message xmlns="jabber:client"><body /></message>
Use of XMLMask is discouraged, and
MatchXPathorStanzaPathshould be used instead.- Parameters:
criteria (
str) – Either anElementXML object or XML string to use as a mask.
- match(xml)[source]
Compare a stanza object or XML object against the stored XML mask.
Overrides MatcherBase.match.
- Parameters:
xml (
StanzaBase) – The stanza object or XML object to compare against.- Return type:
bool