W3C home > Mailing lists > Public > public-xml-processing-model-wg@w3.org > June 2006

Re: Issue #3306

From: Jeni Tennison <jeni@jenitennison.com>
Date: Wed, 07 Jun 2006 11:02:57 +0100
Message-ID: <4486A451.3060303@jenitennison.com>
To: public-xml-processing-model-wg@w3.org

Hi Erik,

Erik Bruchez wrote:
> Jeni Tennison wrote:
>  > I think there are two separate questions here:
>  >
>  > 1. Can components return as an output the same (unmodified) document
>  > that it receives as input, or must it always copy any documents it
>  > receives? It might be more efficient for implementations if
>  > components like 'filter', 'union' and 'identity' didn't have to
>  > create copies.
> 
> I think this is an implementation detail.
> 
> If not, what is the visible difference between copying and not
> copying?

Well, if you have:

   <p:step name="tee">
     <p:input href="a.xml" />
     <p:output name="out1" label="out1" />
     <p:output name="out2" label="out2" />
   </p:step>

and then you do something along the lines of:

   <p:when test="count($out1 | $out2) = 1">
     ...
   </p:when>

then if out1 and out2 are *copies*, the test will fail (because the 
documents don't have the same identity), whereas if they are 
*references* to the same document then the test will succeed.

I think we should have copy semantics, such that the outputs of 
components must be documents with new document identities. Efficient 
implementations will work out a way of not actually copying entire 
documents when they don't need to.

>  > 2. Can a document sequence contain the same document twice?
> 
> This can only be answered if you answer the following question: what
> is "the same document".

I mean can they have the same identity: in implementation terms, the 
same object in memory.

Cheers,

Jeni
-- 
Jeni Tennison
http://www.jenitennison.com
Received on Wednesday, 7 June 2006 10:36:45 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:21:47 GMT