- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Thu, 07 Jun 2007 21:22:48 +0100
- To: public-xml-processing-model-wg@w3.org
Norman Walsh wrote: > / Richard Tobin <richard@inf.ed.ac.uk> was heard to say: > |> However, we want to be able to stream many of our microsteps. On that > |> basis, I'd be in favor of saying that the context position and context > |> size are both 1 when the replace expression is evaluated in > |> p:string-replace (and in analagous situations on other steps). > | > | Unless the replace expression is prohibited from accesssing arbitrary > | nodes, I don't see much advantage to this. You have to analyse the > | expression to see if it needs the rest of the document, so you might > | as well check for calls to position() and size() too. > | > |> Both require an unbounded amount of look ahead. > | > | As does replace="following-sibling::b" > > Hmm. True. But I think I still prefer position()=last()=1. Unsurprisingly, I agree with Richard that you may as well give position() and last() meaningful values given that you can't guarantee streamability anyway. I can quite imagine someone doing: <p:string-replace> <p:option name="match" value="@id" /> <p:option name="replace" value="concat('id', position())" /> </p:string-replace> I'd expect the position to be the position amongst all matched nodes. Jeni -- Jeni Tennison http://www.jenitennison.com
Received on Thursday, 7 June 2007 20:22:52 UTC