OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: OO Schemas

[ Lists Home | Date Index | Thread Index ]
  • From: matt@veosystems.com
  • To: papresco@technologist.com
  • Date: 16 Sep 1998 17:25:35 -0700
  • Date: Wed, 16 Sep 1998 17:25:35 -0700 (PDT)


Paul Prescod wrote:
> 
> On 15 Sep 1998 matt@veosystems.com wrote:
> 
> > I know your opinion here.  But inheritance is just a subset of
> > subclass relationships (subclass is an as-a relationship, inheritance
> > is an is-a relationship, and all is-a relationship are also as-a
> > relationships).
> 
> I don't think that there is anything in the word "inheritance" that 
> implies an is-a relationship, though I agree that sometimes it is used 
> that way. 
> 

"Sometimes" meaning rarely, or "sometimes" meaning almost always, but
I'm not ready to concede the point? (I, too, can split hairs!  ;-)
Inheritance and subclassing are both about substitutability.  I think
it would be fair to say that inheritance has _almost always_ been
associated with wholesale borrowing of the structure of the thing
being inherited from, either through copy or reference (through
delegation).  The exceptions, like C++'s private inheritance, are at
the margins.  In what language that you are aware of does inheritance
or subclassing not imply substitutability?

> 
> So let me do so:
> 
> XML element types have three interesting properties: content models,
> attributes and GIs. So to me, "inheritance" between element types would be
> about borrowing some or all of another element types content model,
> attributes or GIs.
> 

If you only borrow some, you lose substitutability.  If you want to
borrow without substitution, just use pe's.  You haven't gained
anything semantically interesting.

> Subclassing, on the other hand, would be about having an element of one 
> type "play the part of" an element of another type, such as a 
> cross-reference "playing" an XLink.
> 

Inheritance means playing the part of the element you are inheriting
from (with a nod towards awkward exceptions at the margin).

Matthew Fuchs
matt@veosystems.com

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)


  • References:
    • OO Schemas
      • From: Paul Prescod <papresco@technologist.com>



 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS