Re: XML Schema: element ordering

Thanks for your answers, Henry.

At 9:59 am +0100 13/7/00, Henry S. Thompson wrote:
>Robin LaFontaine <robin@monsell.co.uk> writes:
>
> > Henry,
> >
> > Thanks for your prompt reply to this query (you must spend a lot of
> > your time answering these queries, and people like me appreciate that
> > - thanks!).
>
>You're welcome.
>
> > The ordering seems to be more a property of the data than the
> > application. XML Schema does have the concept of keys as part of the
> > data integrity, and typically if an item has a key it can appear in
> > any order.
>
>Maybe that's true for data from databases, but it certainly is _not_
>true for data from documents -- consider the keys on the chapters of a
>book!

You are right, of course, and here is a fundamental difference in 
'mind-set' between the 'document' people and the 'data' people! One 
often comes across the side-effects of these different basic (and 
implicit!) assumptions in various XML specs.

>
> > Perhaps I can be more specific and say that I am writing an
> > application to determine whether two XML schemas are the same (or to
> > indicate where they differ). So, it is important to know which
> > elements can appear in a different order but make no difference to the
> > schema definition.
>
>Interesting -- at some point I'll release the canonicalisation tool I
>use for comparing schemas.

I guess you must have also gone through much the same process as I 
have with respect to determining when you need to re-order items in 
the canonical representation and when doing so is not permissible 
because it changes the semantics.

Of course XML Schemas represents a structured definition, so it is 
possible to make a canonical form of the structure OR of the 
'flattened' representation. My comparison would work for the 
structured representation, but clearly two different structures may 
result in the same 'schema' or DTD.

I wonder which approach your canonicalisation takes. I presume it 
also looks at the structured document, and our tool could be useful 
in that it should indicate that the output of your canonicalisation 
process is 'equal' to the input.

>
> > This is what I 'guessed', but perhaps you can tell me if I am wrong
> > (in this I have expanded all the entities and I am working with the
> > DTD at this point):
..cut

Robin

-- -----------------------------------------------------------------
Robin La Fontaine, Monsell EDM Ltd
(R&D Project Management, Engineering Data Exchange using XML, EDIF)
Tel: +44 1684 592 144 Fax: +44 1684 594 504 or +44 870 054 2811
Email: robin@monsell.co.uk       http://www.monsell.co.uk

Received on Thursday, 13 July 2000 10:41:35 UTC