The current version of Class::XPath (1.4) does properly quote / characters in matches. Also, its allowable characterset is not as inclusive as it should be. The following patch seems to address these issues.
8a9,10
Show quoted text
> use Text::ParseWords;
>
12c14
< our $NAME = qr/[\w:]+/;
---
Show quoted text> our $NAME = qr/[[:alpha:]_][\w:\-\.]*/;
122c124
< my @parts = split('/', $xpath);
---
Show quoted text> my @parts = quotewords("/",1,$xpath);