OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   XML Vocabularies for Large Systems - 3 Philosophically Different Approac

[ Lists Home | Date Index | Thread Index ]

      First let me say its a pleasure to  chat with you.   You gave me many
very interesting insights into XML in your http://www.xfront.com site .
Thanks for the help and the many tutorials and examples.

With respect to your question about what "approach" for an XML vocabulary
is appropriate, I would have to say it depends ....

I believe that the world will always be made of many vocabularies, each
with a different scope and purpose (and some overlapping with the same
scope and purpose).  If you're trying to address a relatively contained
area of definition, then maybe a single small to medium size vocabulary is
right for you.

I'm not sure of what is meant by a "vocabulary that is used in different
ways"?   This scares me a bit since I thought the purpose of a vocabulary
was meant to provide unambiguous terms and meanings (in XML) to data
representations.  Have I missed something?

I have worked a bit with OAGIS 8.x XML definitions, they seem to favor a
single XML vocabulary (a.k.a. XML namespace) and provide consistent
uniqueness of their data element names and other corresponding XML
components. This approach might also be suitable with a product developer
creating an industry product to market in a particular segment of the
business, and therefore assigns a single vocabulary (or adopts a subset of
an existing industry standard?).

I've also worked with some "web services" folks and they seem to think that
having a "version" aspect to namespace (i.e. vocabulary) is very important,
such that they can evolve change management through the use of versions of
XML namespace and the corresponding functions.  I understand the need for
versioning but remain unconvinced of the implementation of versioning into

If you are trying to implement a worldwide vocabulary for a large,
international company, then maybe many small vocabularies, rationalized as
a whole might be  best.   In a large diverse company, it would probably be
impossible to get everyone to agree on a single vocabulary concept ... if
not take years to accomplish.  And so an approach that I have used is to
segment a vocabulary into multiple vocabularies for each "area" of the
business and try to manage and rationalize the whole collection as a single
concept (i.e. vocabulary).   This supports a diverse ownership model and
allows overlapping but unique names when qualified by a namespace.  This
requires  that in some instances, when a shared XML document contains
references to multiple cross-vocabulary data elements (i.e. in different
business areas), it will have to use multiple namespace assignments in the
XML and I think this is OK and very reasonable and appropriate.

I subscribe to the belief that the vocabulary contents (data element names
qualified by their namespace) should be a tightly controlled aspect of any
vocabulary and I would go as far to say that they should be "owned" by the
business and not programmers.   That brings us into 'data dictionary' and
ownership ... which is another topic - especially when you consider how to
manage XML artifacts with respect to these definitions and ensure
consistent (and compliant) usage across a large enterprise.

----- Message from "Roger L. Costello" <costello@mitre.org> on Sun, 12 Dec
2004 14:53:49 -0500 -----
     To: <xml-dev@lists.xml.org>                                           
 Subject XML Vocabularies for Large Systems - 3 Philosophically Different  
       : Approaches                                                        

Hi Folks,

I am interested in hearing about the nature of XML vocabularies that are
being created for large systems.  I am particularly interested in hearing
from people who have been successful in using simple XML vocabularies to
implement the complexities of varied data in large systems.

Allow me to explain further...


XML Vocabulary: an XML vocabulary is the collection of tags that is used to
markup data.  For example, this data:

     Borders Bookstore, 20 Boylston Avenue, Boston, MA, 01320

may be marked-up using this XML vocabulary:

     <Addressee>, <Street>, <City>, <State>, <Zipcode>.

This later constitutes an XML vocabulary for U.S. Mailing Addresses.


My interest is in large systems, where the variety of data is large, and
in the nature of XML vocabularies for such systems.


I identify three philosophically different approaches to the creation of
an XML vocabulary for a large system:

   a. Create multiple, simple XML vocabularies.
   b. Create a single, simple XML vocabulary that is used in multiple ways.
   c. Create a single, large, complex XML vocabulary.

Let us examine each of these approaches:

a. Create multiple, simple XML vocabularies

   In daily life we encounter many analogues to this approach.  For
   the postal service has its own simple vocabulary - addressee, street,
   city, state, and zipcode; a restaurant has its own menu vocabulary -
   appetizer, entree, dessert, and side dishes.  I am sure that you can
   think of many other examples.  We live in a world filled with many
   simple vocabularies, and (for the most part) we are able to move about
   and function adequately with this multiplicity of simple vocabularies.

   Likewise, in creating an XML vocabulary for a large system one approach
   is to create multiple simple XML vocabularies.

b. Create a single, simple XML vocabulary that is used in multiple ways

   Consider the XML vocabulary called RSS.  It is a simple XML vocabulary.
   Despite its simplicity it is very popular and powerful.  Likewise,
   Jabber is a very popular and powerful simple XML vocabulary.

   A second approach for the large system is to create a simple XML
   vocabulary that is used in multiple ways.  For example, you may
   have an RSS feed that captures one aspect of the large system,
   a second RSS feed that captures a second aspect of the large system,
   and so forth.  The combination of RSS documents is used to
   collectively capture all the data complexities in the large system.

c. Create a single, large, complex XML vocabulary

   All the complexities of the large system are implemented by creating a
   single, large, complex XML vocabulary.


Have you implemented a large system?  Have you created an XML vocabulary
a large system?  Which of the above three approaches did you take? I am
particularly interested in hearing from people who have used simple XML
vocabularies [approach (a) or (b)] to achieve all the data complexities
in a large system.

Regards, Bill

Consultant, Enterprise Data Management, Dept.XJXA, Bldg. 320A-2, 2070 Rte.
52, Hopewell Jct., NY  12533
845-892-8731, T/L 8-532-8731     email: wneils@us.ibm.com email2:


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS