I think I got it -- both the W3C and the TEI are right here, except that
it's too easy to confuse the two string-ranges.

Syd Bauman writes:
> However, having taken a quick look, the only conclusion I can come to
> is that while libxml2 is implementing xpointer schemes in its
> XInclude processor (yay!), the string-range() scheme it has
> implemented is *not* the TEI string-range() scheme.
> This strikes me as a bit of a problem. To my knowledge there exists
> no namespaces for XPointer schemes, rather the mechanism for
> avoidance of name collisions like this is the W3C XPointer Scheme
> registry. The string-range() scheme registered there is the TEI
> scheme defined in P5. (see
> But you mention a W3C draft that apparently defines (a different)
> string-range() xpointer scheme -- can you point us to this document?

The draft does not define a different string-range() XPointer scheme:
the draft defines the xpointer() XPointer scheme, with string-range() as
a *function* of that scheme. Note the capitalization and the braces:
xpointer() is an XPointer scheme, on a par with element(), xpath1(), etc.

The TEI defines string-range() *as yet another scheme*, not as a
function of the existing xpointer() scheme. A level of a difference, so
to say.

But still, it's confusing (as all of us can see now). How about renaming
the TEI scheme to string-span(), just in case, while it's not
implemented yet?