RE: Schema being imported multiple times

I'm not sure if I saw it in the spec or in an xmlschema-dev discussion, but
I recall seeing that duplications cannot be handled at a file level - they
must be handled on a definition-by-definition basis, comparing each for
equivalence (or is it identity?). If that is the case, then tools would be
"cheating" by simply looking at file references. 

Could somebody clarify this?

Thanks,

Mark

Mark Feblowitz
XML Architect
Frictionless Commerce Incorporated
400 Technology Square, 9th floor
Cambridge, MA 02139
(617) 715-7231
mfeblowitz@frictionless.com


-----Original Message-----
From: Noah_Mendelsohn@lotus.com [mailto:Noah_Mendelsohn@lotus.com]
Sent: Wednesday, October 31, 2001 4:55 PM
To: Mark Feblowitz
Cc: xmlschema-dev@w3.org
Subject: Re: Schema being imported multiple times


Nothing prevents a smart environment from optimizing the handling of 
duplicate includes, when it can verify (as it often can) that the same 
source files are involved. The schema spec does not require it, so there 
is indeed some risk that processors won't.   So, there's no panacea, but 
it should be possible in principle for tools like XML Spy to perform well 
even if the duplicate includes are retained.  (I'm sure Alexander will be 
delighted with me implying that these things are easy to do in his 
product....)

------------------------------------------------------------------------
Noah Mendelsohn                                    Voice: 1-617-693-4036
Lotus Development Corp.                            Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------------







Mark Feblowitz <mfeblowitz@frictionless.com>
Sent by: xmlschema-dev-request@w3.org
10/31/01 10:16 AM

 
        To:     "'xmlschema-dev@w3.org'" <xmlschema-dev@w3.org>
        cc:     (bcc: Noah Mendelsohn/CAM/Lotus)
        Subject:        Re: Schema being imported multiple times

The schema rec does discourage multiple inclusion. And that's reinforced 
by
the resultant poor performance of the validator having to check each
multiply-included element for conflicts.

The problem that has arisen when using IDEs such as XML Spy is that a
multiple-file schema arrangement that has been purged of multiple includes
is often very impractical to edit. Say, for example, that I have a
CommonTypes.xsd file that is included in file A.xsd and also in B.xsd. 
(I've
separated my elements/types into files A.xsd and B.xsd, e.g., to aid in
configuration management). 

   A.xsd
      CommonTypes.xsd

   B.xsd
      CommonTypes.xsd

Now, let's say that both A.xsd and B.xsd are included under an 
Umbrella.xsd
that brings together all of the separate parts of the whole schema:

   Umbrella.xsd
      A.xsd
         CommonTypes.xsd
      B.xsd
         CommonTypes.xsd

This results in duplicate includes. The simple solution is to pull
CommonTypes.xsd into Umbrella.xsd and remove it from A.xsd and B.xsd.

   Umbrella.xsd
      CommonTypes.xsd
      A.xsd
      B.xsd

But once I do that, neither A.xsd nor B.xsd validates stand-alone in XML
Spy, making subsequent editing more tedious. And as more file factoring
occurs, the picture just gets more complex.

Matters get even worse when a "redefine" is used (the implicit include 
that
they execute is not yet handled correctly by some validators). It can take
days to flatten and re-collect the parts to get them to work together. 

What's needed is some type of support for managing development-time versus
use-time inclusion. This can be done in several ways: 
   New semantics for multiple inclusion
   A special schema construct or PI for declaring development-time 
inclusion
   IDE support for development-time inclusion

Whatever the approach, the ability to factor and recombine schema files 
will
remain a nuisance until this is resolved.

----------------------------------------------------------------------------
----
 
Mark Feblowitz                                   [t] 617.715.7231
Frictionless Commerce Incorporated     [f] 617.495.0188 
XML Architect                                     [e]
mfeblowitz@frictionless.com
400 Technology Square, 9th Floor 
Cambridge, MA 02139 
www.frictionless.com 
 

Received on Thursday, 1 November 2001 08:45:52 UTC