W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > July to September 2004

Re: Possible schema issues relating to cycles of include and redefine

From: C. M. Sperberg-McQueen <cmsmcq@acm.org>
Date: 30 Jul 2004 20:38:26 -0600
To: Noah Mendelsohn <noah_mendelsohn@us.ibm.com>
Cc: W3C XML Schema Comments list <www-xml-schema-comments@w3.org>
Message-Id: <1091241505.2530.361.camel@localhost>

On Wed, 2004-07-28 at 20:25, noah_mendelsohn@us.ibm.com wrote:
> We are careful in the recommendation to allow for repeated inclusion of the
> same file (see note at the end of [1]).  We are not particularly clear, I
> think, on whether cycles of includes are allowed.  My own belief is that
> they should be, and that a clarification should be issued as an erratum (at
> a convenient time) to warn implementors that guarding against loops is
> required.  

Off hand (i.e. without thinking about it very deeply)
I am inclined to agree.  The difficulty I see is that
the way the spec is currently worded seems to me to
require the loop-forever implementation, and I don't
think I see a convenient way of fixing the wording that
doesn't amount to deleting the relevant sections and
substituting new ones, which seems closer to revising
for 1.1 than fixing an error in 1.0 to me.

So while I'm inclined to think the failure of 1.0 to
allow for cycles is a problem to be fixed, I am not
convinced it's doable as an erratum.  It feels 'too big'
to be an erratum, although I don't have any coherent
reasons to give for this except that a lot of words
would need to change (I think -- I have NOT sketched it
out and could be wrong) and that the required changes
involve fairly dramatic changes.

> Similarly, I think the recommendation would benefit from clarification of
> the rules relating to cycles of redefines.  In most cases, these will
> produce invalid components due to violations of rules on restriction or
> extension, I think, but there may be other cases that are not clearly ruled
> out.  I think cycles of redefinition should be prohibited.

I find it hard to think of a way to make any cycle
of redefines harmless.  The way the current spec
defines things, a literal implementation will 
necessarily disallow them, either by looping or by
detecting the loop and aborting.

Thank you, Noah, for getting these onto the table.

-CMSMcQ
Received on Friday, 30 July 2004 22:50:14 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 23:39:42 UTC