Survey: Catalysis Templates

Toivo Lainevool tlainevool at
Wed Dec 29 17:37:24 GMT 1999

--- "W. Eliot Kimber" <eliot at> wrote:
> Yes, this is I think the closest programming analog to document
> architectures. When an element in a document is mapped to some
> architectural element, you are saying "my element 'foo' conforms to the
> rules for architectural element 'bar', in addition to whatever else I
> might say a 'foo' is."  That lets a user or processor of the document
> know something about the elements in it without having to know
> everything.  I think that is analogous to saying "objects that implement
> the 'foo' interface must provide properties A, B, and C, implement
> methods D, E, and F, and accept messages G, H, and I".
> I like the interface analogy better than the "inheritance" analogy
> because it stresses the contract aspect of the relationship and does not
> imply any of the things that inheritance implies (which architectures do
> not provide, not being about program objects but about inert data
> elements).
> Cheers,
> E.

I think an even better match from programming is the "Adapter" pattern from
GoF[1].  To quote from the book an Adapter is used to "Convert the interface of
a class into another interface clients expect.  Adapter lets classes work
together that couldn't otherwise because of incompatible interfaces."
If you change "class" to "document type" in the above, I think this gives a
perfect description of the intent of document architectures.

Toivo Lainevool

[1] Design Patterns: Elements of Reusable Object-Oriented Software.  Gamma,
Helm, Johnson, Vlissides.

Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list