String-range() takes the place of a fragment identifier in a URI, so it cannot, itself, reference another document. The URI part before the hash has to reference the other document. String-range() takes an IDREF or an XPath expression returning an element or text node. So #string-range(abc,0,4) would point at an element with @xml:id="abc" in the same document. wd:document#string-range(abc,0,4) is a valid URI, though obviously not an HTTP(S) URI, so it won’t resolve without help, but you could certainly do something like that if you wanted. > On Feb 23, 2015, at 17:25 , Syd Bauman <[log in to unmask]> wrote: > >> corresp="#string-range(wd:abc,0,4) > > Hey, Martin. I'm not so sure ... the definition of the first argument > to string-range is "IDREF | XPATH". Surely "wd:abc" is not an IDREF, > and I don't see how it is an XPath, either. > > But Hayim wants to point to something in another document, so > starting his data.pointer with a hash is at best counter-intuitive. > I'm thinking maybe something like > > corresp="wd:document#string-range(id('abc'),0,4)" > > (of course that's not much better than the original > > corresp="string-range( ../folder/text.xml#abc,0,4)" > > but at least Hayim can decide which he likes better).