Inheritance in XML [^*]
James.Anderson at mecom.mixx.de
Thu Apr 23 15:49:48 BST 1998
i read, with satisfaction, where,
Jon Bosak wrote: (among other things, that)
> I [hereby] put on my official XML WG Chairman hat and reveal unto ye
> that the XML WG has officially requested that the job of defining a
> schema language for XML documents be added to its charter. If
> approved by the W3C Director, this work would certainly involve a
> consideration of most of the issues raised in this discussion and
> would include a close look not only at XML Data but also at other
> proposed solutions to the same problem.
that's nice to hear.
much of the earlier parts of that posting, and most of this thread,
are, on the other hand, disheartening. there are two issues:
the claims regarding "semantics":
the recommendation does, in deed, assert a semantic for xml documents.
if efforts towards schemas are to succeed, it is essential to recognize what
this semantic does provide and where its boundaries are, in order to determine
what is to be added.
the assertions (in the rest of the thread) regarding subtyping and inheritance":
a distinction limited to "subtyping" and "inheritance" is incomplete and leads
to inaccurate descriptions.
A. to "semantics"
the xml recommendation defines a two relations among elements (subsumption and
precedence), defines a (yes) language for describing these relations (the dtd
entities), asserts three states for documents (valid, invalid, and
unspecified), and specifies how to infer which state a document is in based
this is a "semantic". i refrain from distinguishing "application" from
"parsing" semantics, 'cause the distinction doesn't matter.
the claim, that there is no semantic, diverts attention away from the sematic
which is there, and from its limits.
in particular, there are simultaneous efforts within w3c to standardize both a
serialization form (xml) and a document model (dom). it is intended that there
be a relation between the two. it is a mistake, that the standard for
serialization claim no responsibility for establishing this "semantic".
a claim made with all due respect and despite the quality of the work
accomplished, because the lack of such a semantic will, in general,
make it harder to use these products, and because the lack will also
make progress impossible for the parties among the XML WG who would intend to
address theselves to the issues alluded to in the quote above. the
"inheritance" discussion is a case in point.
it is disheartening to read where attention is deflected from the issue by
claiming that no semantic was intended.
B. to inheritance.
there are three concepts: type, class, and inheritance. the first two depend
on specific (albeit possibly abstract) models for operations and storage. the
latter makes assertions about properties and relations within the former two domains.
that is (loosely),
(and (! property-x a "whatever") (! property-x b (inherits-from a)))
(? property-x b "whatever") => true
where the property may concern type or it may concern class. that is,
with respect to a given processing and storage model the respective properties
may concern which operations may be be performed on the respective instances
(read "subtyping") or they may concern what storage relationships the
respective instances entail (read "subclassing"). these are two, in
principle, independant properties, each of which may be inherited.
although, for a given store and operation model these properties may overlap
(see c++) it would be better to describe them as "subtyping" and
"subclassing", rather than "subtyping" and "inheritance". if one insists on
the latter, then one will not be able to describe everything one needs to.
this comes to light, for instance in the assertion elsewhere in this thread,
that architectural forms have nothing to do with inheritance. it is true, that
they have only halfway to do with "class inheritance" - that is the storage
structure implied by asserting that a given element conforms to one or more
architectural forms. ( i think i claimed, in an earlier post, that they
"punted" on this one. i still think that's true.) on the otherhand, they have
everything to do with "type inheritance". that is, by virtue of asserting a
relation between a concrete element and an archtectural element, certain
operations which lead to a "valid" document state for the architectural
element are produce the same state for the given concrete element. this is one
form of inheritance.
in order, however, for efforts in this direction to succeed (eg - issues like
content interleaving, tag subsumption, whatever) it is essential that one
recognize, that the concepts to be governed by inheritance have a meaning
strictly with respect to particular processing and storage models.
that given, if one claims - and is satisfied, that xml has by intention no
sematic, and does not recognize that (without concern for an "application
semantics") it is essential to provide at least a "dom semantics", then any
discussions concerning serialized representations regarding assertions about
types, classes, and inheritance (ie "schemas") will be ungrounded and bound to
bye for now,
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev