- From: Kasimier Buchcik <kbuchcik@4commerce.de>
- Date: Fri, 05 Nov 2004 15:11:15 +0100
- To: Michael Kay <mike@saxonica.com>
- CC: <xmlschema-dev@w3.org>
Hi, Michael Kay wrote: >>I have difficulties understanding what to do with included components >>at sub-schema constrution stage - acting as referents - which >>cannot be included into the final schema. > > > You're not alone: I've been finding the spec is a quagmire in this area. > >>A simplified example: >> >>- A, B1, B2 and C are schemata >>- B1 includes C and references components of C (referred to as B1.C) >>- B2 includes C and references components of C (referred to as B2.C) >>- A includes B1 and B2 >> >>Since the B1.C components are already included in A, the B2.C >>components >>won't be added to A. The spec states properties of components to have >>components as their values; the values of components of B2 >>referencing >>B2.C would become unavailable, since not added to A. >> > > > 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 - B2 has it's original components, call them B2.orig - B2 has the copies of components of C, call them B2.C components - B2.orig components have properties with B2.C components as values - A has it's own components plus the copies of the following components: - B1.orig, call them B1.orig.A - B1.C, call them B1.C.A - B2.orig, call them B2.orig.A Do B1.orig.A comps. have still props. with B1.C components as values and B2.orig.A comps. have still props. with B2.C components as values, which are not included into A but exist _somewhere_? If this is how it works, I see a hell of memory usage. Or are the assigned property values somehow remapped to the components copied into A, releasing the original components from the sub-stages? > The difficulty I have been finding is that inclusion at the level of schema > components simply doesn't work. Until all the references from a schema > component to other components have been resolved, you need to keep a lot of > "raw XML" information such as the lexical form of enumeration values and > their namespace context. Thanks & regards, Kasimier
Received on Friday, 5 November 2004 14:12:01 UTC