Re: [xml-dev] RNG vs. XSD : is the use of abstract types and polymorphisma good or bad thing for schemas for XML?

From: David Carlisle <davidc@nag.co.uk>

To: "Costello, Roger L." <costello@mitre.org>

Date: Mon, 12 Mar 2012 14:51:46 +0000

On 12/03/2012 14:37, Costello, Roger L. wrote:
> Hi Folks,
>
> James Clark and MURATA Makoto are the two principles that were
> involved in designing RELAX NG.
>
> I noticed that they did not incorporate into RELAX NG these
> features:
>
> - a reusable collection of elements and attributes that is
> designated "abstract"
>
> -- XML Schema has this. It is a complexType with abstract="true"
>
> - polymorphism (i.e., the ability to replace one thing with another
> provided both things descend from the same type)
>
> -- XML Schema has this. It is element substitution and type
> substitution
>
>
> I wonder why James Clark and MURATA Makoto didn't incorporate
> abstract types and polymorphism into RELAX NG?
relaxng patterns correspond to structural typing, so both of these
things are automatic (or irrelevant depending on your point of view)
In xsd you can have two types that have identical structure but
different names. unless you declare suitable inheritance or substitution
rules they will not be interchangeable. A relaxng pattern in essentially
just a macro for a fragment of a content model, so if they have the same
structure they are always interchangeable.
David
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________