XPath has two parts - locations paths and functions. A location path will always return a list of nodes (an empty one if it can not find a matching node).
Here are three possible location paths in your XML:
/SpindleSpeed for the SpindleSpeed element node that is the document element
//SpindleSpeed for any SpindleSpeed element node in the document
//SpindleSpeed/text() for any text nodes inside any SpindleSpeed element node in the document
If you have a list you can cast it
number(//SpindleSpeed) is the content of the first node in the list (from the location path) as a number - 0.0 if the list was empty.
string(//SpindleSpeed) is the content of the first node in the list (from the location path) as a string - an empty string for an empty list.