XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
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

And yet it was only a few short weeks ago that you were suddenly so enthusiastic for flattened, non-recursive schemas (e.g., Flatter Is Better).

A good design is always going to reflect the same questions - what do you need to accomplish, with who do you need to interact and how will they need to use the data, what other constraints apply, etc. For your next enthusiasm, think harder about them sooner, if you please.

Tom

On 1/29/2015 12:07 PM, 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:
>
> <Book> <Title>Parsing Techniques</Title> <Author>Dick Grune</Author>
> <Genre>Technical</Genre> </Book>
>
> Boring.
>
> 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:
>
> <Title> <Value>Parsing Techniques</Value> <Author>Dick
> Grune</Author> <Genre>Technical</Genre> </Title>
>
> 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.
>
> Comments?
>
> /Roger



[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