Actually I don't understand completely what your matching does:
br[following-sibling::node()[1][self::br]]
It matches a <br> element whose first following sibling node
(following-sibling::node()[1]) matches the predicate self::br. The predicate
self::br is true if the context node is a br element. (Technically, it
selects all the nodes on the self axis that are br elements, which will
select one node if the context node is a <br>, and none otherwise, and then
returns true if this node-set is non-empty).
Michael Kay