The mapping callback can return anything. Whatever it returns will be
stored as a match in the set, though. This means that afer a map call,
there is no guarantee that the elements in the set will behave correctly
with other DOMQuery functions.
Callback rules:
- If the callback returns NULL, the item will be removed from the array.
- If the callback returns an array, the entire array will be stored in
the results.
- If the callback returns anything else, it will be appended to the array
of matches.