I recently saw this answer on SO which uses the "local-name" value while shredding xml using .nodes(). I've never seen this before:
select T.N.value('local-name(.)', 'varchar(128)') as Name,
T.N.value('.', 'varchar(max)') as Value
from @xml.nodes('/data/*') as T(N);
Where can I find the definitive document on commands like .nodes() and .value()?