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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   A Systematic Approach to using Simple XML Vocabularies to Implement Larg

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

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







 

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

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