[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Create recursive data models! Top-down data modelsare bori
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] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|