| @@ 40-51 (lines=12) @@ | ||
| 37 | * @param string|\Closure $uri Expected XML namespace URI or predicate |
|
| 38 | * @return \Closure |
|
| 39 | */ |
|
| 40 | function xmlns($uri) |
|
| 41 | { |
|
| 42 | $predicate = $uri instanceof \Closure ? $uri : \Kadet\Xmpp\Utils\filter\same($uri); |
|
| 43 | ||
| 44 | return function ($element) use ($predicate) { |
|
| 45 | if (!$element instanceof XmlElement) { |
|
| 46 | return false; |
|
| 47 | } |
|
| 48 | ||
| 49 | return $predicate($element->namespace); |
|
| 50 | }; |
|
| 51 | } |
|
| 52 | ||
| 53 | /** |
|
| 54 | * Predicate used to check if given element has specified name. |
|
| @@ 73-84 (lines=12) @@ | ||
| 70 | * @param string|\Closure $name Expected element name or predicate. |
|
| 71 | * @return \Closure |
|
| 72 | */ |
|
| 73 | function name($name) |
|
| 74 | { |
|
| 75 | $predicate = $name instanceof \Closure ? $name : \Kadet\Xmpp\Utils\filter\same($name); |
|
| 76 | ||
| 77 | return function ($element) use ($predicate) { |
|
| 78 | if (!$element instanceof XmlElement) { |
|
| 79 | return false; |
|
| 80 | } |
|
| 81 | ||
| 82 | return $predicate($element->localName); |
|
| 83 | }; |
|
| 84 | } |
|
| 85 | ||
| 86 | /** |
|
| 87 | * Predicate used to check if element's attribute matches value. |
|