matches method
- XMLNode node
override
Returns true if the node matches the description provided by this Handler.
Implementation
@override
bool matches(XMLNode node) {
var matches = ['iq', 'message', 'presence'].contains(node.tag);
if (stanzaTag != null) {
matches &= node.tag == stanzaTag;
}
if (xmlns != null) {
matches &= node.xmlns == xmlns;
}
if (tagName != null) {
final firstTag = node.firstTag(tagName!, xmlns: tagXmlns);
matches &= firstTag != null;
if (tagXmlns != null) {
matches &= firstTag?.xmlns == tagXmlns;
}
} else if (tagXmlns != null) {
matches &= node.children.firstWhereOrNull(
(XMLNode node_) => node_.attributes['xmlns'] == tagXmlns,
) !=
null;
}
return matches;
}