This is a common misconception about how Selenium works with xpath, and it confuses a lot of people. This is how I understand it.
When Selenium uses an xpath search, it DOES hand the current node, the DOM, and the xpath query to the xpath system. It does NOT modify the given xpath in anyway to force it to use the current node, though. It just lets xpath do what xpath does without any interference.
The documentation I linked you to can also be a little confusing at first when looking at the first bit of documentation about //, which says:
-- //
-- Selects nodes in the document from the current node that match the selection no matter where they are
The part that is often unclear is that, if you don't specify what the current node should be before the // in the query, xpath defaults to the top of the document. This can be seen in other examples from the documentation, ie:
-- //book
-- Selects all book elements no matter where they are in the document
-- //*
-- Selects all elements in the document
Those examples both start at the top of the document because there is no xpath stuff in front of the //, so the top of the document default applies.
Selenium allows the use of xpath, but xpath is a separate thing from Selenium. To use xpath well, you have to learn how xpath itself works, and try not to assume that Selenium is influencing xpath in any way. Every Selenium find using xpath is a standalone query, but you can have the xpath query use the dot to start at the current node found from a previous find. It took me a while to learn this too. :)
Joe