Improved XPath capabilities

The two commits improve the XPath parser:
- support for underscores and numbers in node, attribute and namespace names
- support for number, underscores and spaces in attribute values
- support for the wildcard (*) in the node and namespace names