+
+ def words(self, string):
+ """Split the string into separate words.
+
+ This split is done using Unicode's definition of whitespace.
+ """
+ return string.split()
+
+ def sortemes(self, string):
+ words = []
+ for word in self.words(string):
+ words.extend(collate._strings.alnumsplit(word))
+ return filter(collate._strings.wordlike, words)
+
+ def sortemekey(self, string):
+ words = map(collate._strings.numeric, self.sortemes(string))
+ words = [(i, self.key(word)) for (i, word) in words]
+ return words