Philip Wadler wrote this paper to explore defining XPath with formal semantics. I have been interested in denotational semantics in the past, and use XSLT now, to produce this site. The paper claims that XPath was changed in response to ambiguities unearthed by the denotational semantics. Cool.
I can't say I've taken the time to read this paper, but would like to, and am glad that someone is using good theory to support and improve practical software.