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

Designing an XML Vocabulary: The First Two Questions

  • From: "Costello, Roger L." <costello@m...>
  • To: <xml-dev@l...>
  • Date: Tue, 15 Apr 2008 09:02:39 -0400

Designing an XML Vocabulary: The First Two Questions
Hi Folks,

Based on our recent discussions, I have arrived at "The First Two
Questions."  Comments welcome.  /Roger


THE FIRST TWO QUESTIONS

1. Is the purpose of the XML vocabulary to encode behavior or to encode
data?

2. Is the purpose of the XML vocabulary to markup one specific kind of
data, or to markup multiple diverse kinds of data?


These two questions are elaborated on below.


1. ENCODE BEHAVIOR OR ENCODE DATA?

Encode behavior: each element has an associated behavior.  An element
is an instruction.  The data within an element may be considered to be
a parameter for the instruction.  An application that understands the
XML vocabulary will "execute each instruction."

    Example: the XSLT specification defines an XML vocabulary.
    Each element in the vocabulary is assigned a specific
    behavior. That is, the specification describes how an  
    XSLT application (processor) should behave for each element. 

If the purpose of your XML vocabulary is to encode behavior then the
specification of your XML vocabulary should define:

    - the syntax of each element
    - the semantics of each element
    - the behavior of each element

Encode data: there is no behavior associated with the elements.  The
elements are simply containers for data.  Each application is free to
process the elements in any fashion.

    Example: I may define a "Cellphone XML Vocabulary" without any 
    mandate on how an application should process a document 
    that uses the vocabulary.

If the purpose of your XML vocabulary is to encode data then the
specification of your XML vocabulary should define:

    - the syntax of each element
    - the semantics of each element


2. CUSTOM MARKUP OR GENERAL PURPOSE MARKUP?

Here are two examples of XML vocabularies that are customized to the
data they are marking up:

Book XML vocabulary - just for marking up book data:

    <Book>
        <Title>The Wisdom of Crowds</Title>
        <Classification>non-fiction</Classification>
        <Author>James Surowiecki</Author>
    </Book>
    
Music XML vocabulary - just for marking up music data:

    <Musical-Score>
       <Work>Winterreise</Work>
       <Genre>classical</Genre>
       <Composer>Franz Schubert</Composer>
    </Musical-Song>


Here the same data is marked up, this time using a single generic XML
vocabulary: 

Composition XML vocabulary - for marking up any literary data:

    <Composition class="Book">
        <Title>The Wisdom of Crowds</Title>
        <Category>non-fiction</Category>
        <Creator>James Surowiecki</Creator>
    </Composition>

    <Composition class="Musical-Score">
        <Title>Winterreise</Title>
        <Category>classical</Category>
        <Creator>Franz Schubert</Creator>
    </Composition>


SUMMARY

(a) Creating a new XML vocabulary is a last resort.  Use an existing
one if possible.

(b) If you do decide to create a new XML vocabulary, then be sure to
first answer these two questions:

1. Is the purpose of the XML vocabulary to encode behavior or to encode
data?

2. Is the purpose of the XML vocabulary to markup one specific kind of
data, or to markup multiple diverse kinds of data?


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


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.