Print

Print


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).