[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

A Systematic Approach to using Simple XML Vocabularies to Implement Larg

  • To: <xml-dev@l...>
  • Subject: A Systematic Approach to using Simple XML Vocabularies to Implement Large (Complex) Systems
  • From: "Roger L. Costello" <costello@m...>
  • Date: Tue, 14 Dec 2004 16:16:56 -0500
  • Thread-index: AcTiIj2o9vsD4JlkSOe5xmyU/2fzBw==

richard bach illusions
Note: This is a continuation of the thread: 

   XML Vocabularies for Large Systems - 3 Philosophically Different
Approaches  

I have changed the title to reflect the narrowed focus.

GOAL

My goal is for us (the xml-dev group) to collectively define a systematic
approach to using simple XML vocabularies to implement large (complex)
systems.

Yesterday Len and Peter outlined two strategies.  I would like to flesh out
their ideas.

TWO SIMPLE VOCABULARIES

Let's consider a concrete example.  Suppose that the following two simple
vocabularies have been created:

1. Postal Address Vocabulary:

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

2. Book Vocabulary:

   <Book>, <Title>, <Author>, <Date>, <ISBN>, <Publisher>

CHALLENGE

Imagine that a large system requires an Invoice XML vocabulary for a Book
purchase.  How can the above simple XML vocabularies be used to implement
this Invoice vocabulary?

Here is an example of an Invoice:

<Invoice>
    <PostalAddress id="RLC">
        <Addressee>Roger L. Costello</Addressee>
        <Street>38 Boylston St.</Street>
        <City>Boston</City>
        <State>MA</State>
        <Zipcode>01320</Zipcode>
    </PostalAddress>
    <Book id="Bach">
        <Title>Illusions</Title>
        <Author>Richard Bach</Author>
        <Date>1977</Date>
        <ISBN>0-440-34319-4</ISBN>
        <Publisher>Dell Publishing Co.</Publisher>
    </Book>
</Invoice>

THE LEN BULLARD APPROACH

The approach that Len suggested was to use a "metadata framework" which ties
together the simple vocabularies.  Let me try to make concrete Len's
suggested approach using the above Invoice example.

First, use the simple vocabularies to provide the basic information:

<PostalAddress id="RLC">
    <Addressee>Roger L. Costello</Addressee>
    <Street>38 Boylston St.</Street>
    <City>Boston</City>
    <State>MA</State>
    <Zipcode>01320</Zipcode>
</PostalAddress>

<Book id="Bach">
    <Title>Illusions</Title>
    <Author>Richard Bach</Author>
    <Date>1977</Date>
    <ISBN>0-440-34319-4</ISBN>
    <Publisher>Dell Publishing Co.</Publisher>
</Book>  

Second, create a "metadata framework" which brings cohesion to the simple
vocabularies:

<Invoice>
   <PurchasedBy href="RLC"/>
   <PurchasedItem type="book" href="Bach"/>
</Invoice>

Len noted that Topic Maps might be used as the metadata framework.

Len, have I characterized your ideas correctly?  

THE PETER HUNSBERGER APPROACH

In the above Invoice example tags that are specific to postal addresses and
books were used.  A disadvantage is that many domain-specific simple
vocabularies must be created.

Peter's approach is to provide a "generic set of tags", coupled with a rich
set of ways to relate the generic tags.

Below I have attempted to define the Invoice using generic tags coupled with
"relationship tags".  Obviously I don't know what I am doing.  Peter, would
you fix this please?

<Collection id="RLC">
    <Object>Roger L. Costello</Object>
    <Object>38 Boylston St.</Object>
    <Object>Boston</Object>
    <Object>MA</Object>
    <Object>01320</Object>
</Collection>

<Collection id="Bach">
    <Object>Illusions</Object>
    <Object>Richard Bach</Object>
    <Object>1977</Object>
    <Object>0-440-34319-4</Object>
    <Object>Dell Publishing Co.</Object>
</Collection>

<Collection>
   <Object href="RLC"/>
   <Relation>Purchased By</Relation>
   <Object href="Bach">
</Collection>

What do you (xml-dev'ers) think about all this?  Can you think of other
approaches?  /Roger




PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.