Re: "RE: Including schemata with duplicate referents"'

Hi,

Michael Kay wrote:
>>>You seem to be assuming B1 and B2 contain copies of the 
>>components in C. If
>>>the components retain their identity, I don't think it's a 
>>problem: if a
>>>component in B2 includes a reference to a component in C, 
>>that reference
>>>will be satisfied, because the component will exist in A, 
>>whether it reached
>>>A via B1 or B2. (It gets more complicated, of course, with chameleon
>>>includes).
>>
>>Just to make this more visual for me:
>>
>>- B1 has it's original components, call them B1.orig
>>- B1 has copies of components of C, call them B1.C components
>>- B1.orig components have properties with B1.C components as values
> 
> I don't think you should ever need to copy the components (except for

Good to hear that.

> chameleons). If you don't copy the components, I think your problem
> disappears. Or have I misunderstood?

Assuming non-cameleon includes and no copies:

- B1.doc, B2.doc, C1.doc, C2.doc are schema _documents_
- C1.doc and C2.doc define the same set of components
- B1.doc <includes> C1.doc
- B2.doc <includes> C2.doc

- B1, B2, C1, C2 are schemata

after construction of B1, B2, C1, C2:
- B1 has B1.orig + C1.orig comps
   props of B1.orig comps have C1.orig comps as values
- B2 has B2.orig + C2.orig comps
   props of B2.orig comps have C2.orig comps as values

after construction of A:
- A has B1.orig, C1.orig and B2.orig comps.

A cannot include C2.orig components, since
they are already included by including C1.orig components.

But B2.orig components still have C2.orig components as values, which
are not in A. C1.orig components made it through to A, but they are just
identical to the components of C2.orig in structure not in instance.

Again, this all assumes recursive construction - B1 and B2 don't know
of each others included C1.orig and C2.orig components.

I still don't see the light :-)


Regards,

Kasimier

Received on Friday, 5 November 2004 16:43:11 UTC