Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - schema arrangement or architecture >Thread Next - Re: schema arrangement or architecture RE: schema arrangement or architectureTo: Andrew Welch <andrew.j.welch@-----.--->, <xmlschema-dev@--.---> Date: 6/2/2008 7:20:00 PM In "Salami Slice" only elements are globally declared, while their types ar= e still defined anonymously within the element. In "Venetian Blind" it is = the reverse. The complex types are defined globally but the elements are d= eclared locally within them. As you are obviously aware, making both eleme= nts and complex types global maximizes reusability opportunities. I call t= his Venetian Salami but it is better known as the Garden of Eden style, coi= ned by Eve Maler of Sun Microsystems, and I sing it praises in the first ha= lf of this article. Garden of Eden: The Key to Reuse http://www.tdan.com/view-articles/7185 1. Some people like to put all their complex types in an enterprise namesp= ace and reference them from elements declared in small local transactional = schemas. This promotes reuse that can be exploited by OO class hierarchies= and allows multiple, local synonyms for standardized data structures. It = has the advantage of not burdening instance files with multiple namespace p= refixes since the enterprise namespace is only referenced in the schemas. = However, the reuse is not evident from simply inspecting instance files whi= ch may not be ideal in multi-enterprise data exchange scenarios or with tho= se who value transparency. 2. Some people like to define everything in one namespace but modularize t= he schema by partitioning it in a number of schema files, which then refere= nce each other with xsd:include statements. This can facilitate memory econ= omies by allowing partitioning by subject matter or commonly needed combina= tions of elements. It has the advantage of allowing a change of strategies= based on experience without requiring changes of namespace prefixes in ins= tance files but it entails referencing some metadata to determine in which = module a given element is declared, unlike option 3. 3. A heavier duty approach is to partition by namespace and reference comp= onents using xsd:import statements. This a more explicit approach favoured= by international vocabulary standards. Just try to get it all right the f= irst time. These are only my initial thoughts. Perhaps it is time for Mr. Costello to= revisit his pioneering best practices? Cheers Jack Lindsey Extensions in another Namespace http://www.tdan.com/view-articles/7186 > Date: Mon, 2 Jun 2008 15:15:55 +0100> From: andrew.j.welch@g...> To:= xmlschema-dev@w...> Subject: schema arrangement or architecture> > > Hi,= > > Given the "salami slice" style of schema (all elements and types are> g= lobal) are there any established practices for arranging a large> schema? e= g> > - try to keep to one large file or break it down into several files?> = - ensure all element definitions are always in a single file, or where> pos= sible keep element definitions in the same file as their type> definitions?= > - should all attribute be defined globally?> > etc.> > There seems to be = quite a lot of information about the different> schema styles out there, bu= t not much on managing a large schema...> (in this case I'm calling a "larg= e" schema one with just over 100> different elements each with their own ty= pe... ~150 attributes)> > Is the secret of maintaining a large schema down = to good tooling> rather than an intimate knowledge of what's in each file?>= > thanks> -- > Andrew Welch> http://andrewjwelch.com> Kernow: http://kerno= wforsaxon.sf.net/> _________________________________________________________________ Try Chicktionary, a game that tests how many words you can form from the le= tters given. Find this and more puzzles at Live Search Games! http://g.msn.ca/ca55/207= | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
