W3C home > Mailing lists > Public > xmlschema-dev@w3.org > March 2005

RE: Multiple and circular import/include

From: Bill Michell <bill.michell@bbc.co.uk>
Date: Thu, 3 Mar 2005 09:32:50 -0000
Message-ID: <865D963E3D4C48419BAF092534B2BB5802CEFBC8@bbcxues07.national.core.bbc.co.uk>
To: "vivek agarwal" <vivekorama@gmail.com>, "Bob Schloss" <rschloss@us.ibm.com>
Cc: <xmlschema-dev@w3.org>

I find them really useful...

I have a generic "asset" that can have many types of extension - but any instance of that asset need to be able to contain other assets - either references, or completely embedded inline.

The core document contains the basic asset definition but the extensions each live in their own schema - that needs a reference to the core document - which in turn needs a reference to the current collection of extension schemae...

In other words elements can be nested recursively so the schema documents need to be able to express that nesting. 

Bill Michell
Development Team Leader, Broadcast Platforms, BBC News Interactive.

-----Original Message-----
From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org] On Behalf Of vivek agarwal
Sent: Wednesday, March 02, 2005 9:03 PM
To: Bob Schloss
Cc: xmlschema-dev@w3.org
Subject: Re: Multiple and circular import/include

Thanks Bob!
But, I still don't understand why the spec allows circular references!? Is there a reason? or is it just like that?


On Tue, 1 Mar 2005 15:17:04 -0500, Bob Schloss <rschloss@us.ibm.com> wrote:
> Vivek,
>       It is not an error to include the same schema document as the 
> target of multiple <include> or <import> directives.
>       Circular <include> or <import> directives are permitted.
>       This is my mental model:
> 1. The processor fetches your top-level schema document, and then 
> keeps fetching any other schemas which are referenced through 
> directives, transitively, but whenever it sees a directive targetting 
> something it has already fetched, it doesn't fetch it again.  At the 
> end of this process, the "actual schema" to be used for processing now 
> exists in memory, having been merged from 1...n individual documents 
> having the XML representation of XML Schema.
> 2. Then the processor starts doing whatever it plans to do (validation 
> of instance documents during parsing, generating Data Binding code, 
> generating UI forms, or whatever).
>       Because of subtleties associated with <redefine>, for the sanity 
> of anyone who may have to maintain what you design, I would try to 
> avoid circular redefines.
>             Good Luck,
>             Bob
> Scalable XML Infrastructure
> IBM Thomas J Watson Research Center
> Yorktown Heights, New York, USA
> http://www.research.ibm.com/XML
>              vivek agarwal
>              <vivekorama@gmail
>              .com>                                                      To
>              Sent by:                  xmlschema-dev@w3.org
>              xmlschema-dev-req                                          cc
>              uest@w3.org
>                                                                    Subject
>                                        Multiple and circular
>              03/01/2005 01:41          import/include
>              AM
>              Please respond to
>                vivek agarwal
> Hi,
> I have a question on multiple and circular import/include each, if 
> somebody could help.
> Is it an error to import/include a schema more than once?
> A import/includes B1 and B2.
> Both B1, and B2, import/includes C.
> What is the expected behaviour of the processor in such a case?
> Are circular import/includes allowed?
> A import/includes B, and B import/includes A?
> What is the expected behaviour of the processor in such a case?
> Thanks,
> Vivek.


This e-mail (and any attachments) is confidential and may contain
personal views which are not the views of the BBC unless specifically
If you have received it in error, please delete it from your system. 
Do not use, copy or disclose the information in any way nor act in
reliance on it and notify the sender immediately. Please note that the
BBC monitors e-mails sent or received. 
Further communication will signify your consent to this.
Received on Thursday, 3 March 2005 11:08:45 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:56:07 UTC