Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


RE: schema arrangement or architecture

From: Jack Lindsey <tuquenukem@-------.--->
To: 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=


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent