[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Venetian Blinds vs Garden of Eden patterns for industry standards XML Schemas
- From: "Pete Cordell" <petexmldev@codalogic.com>
- To: <xml-dev@lists.xml.org>
- Date: Thu, 28 Oct 2010 10:58:52 +0100
FWIW I would use:
<xs:element name="" type=""/>
(i.e. Venetian Blind) where type is within the same namespace/schema as the
element, and:
<xs:element ref=""/>
(i.e. Salami Slice) when the element(/type) being accessed is in a different
namespace.
To give it a name I'll call it Venetian Slice!
By analogy to a class interface, I see the global elements as the public
members of an interface, and the global types as the private members. The
interface should only publically expose what it has to, and Venetian Blind
provides a non-narrative way to express that. Accessing a new namespace is
analogous to accessing a new class, and so the public interface (i.e. global
elements) of that namespace have to be used.
That should open up the discussion!
Pete Cordell
Codalogic Ltd
Interface XML to C++ the easy way using C++ XML
data binding to convert XSD schemas to C++ classes.
Visit http://codalogic.com/lmx/ or http://www.xml2cpp.com
for more info
----- Original Message -----
From: "Dennis Sosnoski" <dms@sosnoski.com>
To: <xml-dev@lists.xml.org>
Sent: Thursday, October 28, 2010 6:41 AM
Subject: Re: [xml-dev] Venetian Blinds vs Garden of Eden patterns for
industry standards XML Schemas
>
> If you're thinking of using data binding for working with the data in
> applications I'd strongly recommend a Venetian Blinds approach. Most
> data binding approaches turn Garden of Eden into an amorphous foam of
> tiny classes - which is, after all, exactly what Garden of Eden
> represents in XML terms.
>
> Associating the name "Garden of Eden" with this concept of pureed
> structure was excellent marketing, but doesn't really give the right
> impression. I'd suggest "Element Soup" as an alternative. :-)
>
> - Dennis
>
>
> On 10/28/2010 05:31 AM, Lech Rzedzicki wrote:
>> Hi all.
>>
>> I am now involved in developing the next iteration of schemas to
>> standardise information storage and exchange for trademarks and design
>> (there is also some cooperation with patent people).
>> The current standards (TM-XML and DS-XML) use a venetian blind pattern
>> because it nicely mimics OO model, so it's easy to generate classes
>> and objects, also it hides element definitions so there's no conflicts
>> when processing them. Finally the naming convention (not my idea)
>> means that the element names are not reusable anyway.
>> Some people are now proposing that we move to "Garden of Eden" design
>> patter, but I don't see that as a particularly smart move in the
>> context of our domain.
>> I have noticed that many of the schemas in the industry, for instance
>> UBL have gone for Garden of Eden first and and later reverted to
>> Venetian Blinds.
>> I am very interested in some thoughts from the trenches as to why one
>> or the other approach might be more useful in a committee driven
>> standards with contributors from different domains.
>>
>> No need to point me to google either - I have read all the articles
>> about it [1,2,3] and authored schemas that are in production now both
>> ways, but still unconvinced either way...
>>
>>
>> References:
>>
>> [1] A slideshows on various approaches:
>> http://dret.net/lectures/xml-fall08/xsd-2#(11)
>> [2] http://www.xfront.com/GlobalVersusLocal.html - schema best practices
>> [3] http://www.ibm.com/developerworks/xml/library/x-schemascope/
>> etc...
>>
>> _______________________________________________________________________
>>
>> 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
>>
>>
>
> _______________________________________________________________________
>
> 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]