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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Create recursive data models! Top-down data modelsare boring and lacking in power

Hi Roger,

> That is a massively recursive data model. And it is way cool.

And potentially very messy down to useless, in the example that you cite. You will then have to recreate what you call the "top-down" arrangement by invoking a separate constraint set, doubling the effort and increasing the complexity.

Besides, I don't think it's sensible to oppose "top-down" and "recursive". Recursive can be top-down all right. Consider using the terms "recursive" vs.... "non-recursive" ;-)

Best regards,


On 29/01/15 18:07, Costello, Roger L. wrote:
Hi Folks,

Question: What does JSON, XML Schema, and XSLT have in common?

Answer: they are all recursively defined; they specify a set of components which can be assembled in dazzlingly many ways.

Conversely, many (I dare say most) data designs are created in top-down fashion with a mindless list of data. For example, consider a data model for Books. The top-down approach is to mindlessly reel off properties about Books: Title, Author, Genre, etc. Then create instances like this:

     <Title>Parsing Techniques</Title>
     <Author>Dick Grune</Author>


Not only boring, it is clumsy and lacking in power. To wit: instead of that arrangement of the pieces of data, suppose I want this arrangement:

     <Value>Parsing Techniques</Value>
     <Author>Dick Grune</Author>

Moreover, I want my Book data model to contain pieces that can be assembled in arbitrarily different ways - I want a recursive data model!

How might we create a recursive data model for Book data? Here's one way:

Book -> (Title | Author | Genre)+

Title -> Value, Book?

Author -> Value, Book?

Genre -> Value, Book?

That is a massively recursive data model. And it is way cool.

My new slogan: Just say "No!" to top-down data models and say "Yes!" to recursive data models.




XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

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

Copyright 1993-2007 XML.org. This site is hosted by OASIS