[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Create recursive data models! Top-down data models areboring and lacking in power
- From: Dimitre Novatchev <dnovatchev@gmail.com>
- To: "Costello, Roger L." <costello@mitre.org>
- Date: Thu, 29 Jan 2015 10:34:21 -0800
Maybe designing a naturally-recursive structure (like a "tree") would
be a better example?
There is no alternative to a recursive model for a recursive data structure.
--
Cheers,
Dimitre Novatchev
On Thu, Jan 29, 2015 at 9:07 AM, Costello, Roger L. <costello@mitre.org> 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
>
>
> _______________________________________________________________________
>
> 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]