xqvalue only loads a string. It was supposed to be used with an url like
xqvalue(url).retrieve().map('//title').toString
To convert the string to a document, the html parser needs to be called. There is a function x:parse-html for that. And it cannot be called in map.
xqvalue(Response.DataString).query('x:parse-html($_)//title').toString
There is the legacy function process in simpleinternet, which guesses if the string is an url or xml or json. But it might be confusing to debug if it guesses wrong
process(Response.DataString, '//title').toString