Matters of syntax: ConciseXML builds upon the important qualities of XML and S-Expressions.(Languages)
Publication Date: 01-FEB-04
Publication Title: XML Journal
Format: Online
Author: Plusch, Mike

Read this article now
Try Goliath Business News - FREE!

You can view this article PLUS...

  • Over 5 million business articles
  • Hundreds of the most trusted magazines, newswires, and journals (see list)
  • Premium business information that is timely and relevant
  • Unlimited Access

Now for a Limited Time, try Goliath Business News
Free for 7 Days!

Tell Me More   Terms and Conditions

Purchase this article for $4.95

Description

ConciseXML is a new syntax I co-developed with Christopher Fry that builds on the best features of XML and S-Expressions while eliminating their constraints.

XML originated with the document-markup world of SGML and has become the leading syntax of the Internet. Its use been for documents and data--not for programming logic.

S-Expressions, or symbolic expressions, is the syntax behind Lisp-like languages, including Scheme. Basically, S-Expressions are nested lists of symbols. S-Expressions are used with languages that support the notion that code is data.

The many discussion postings on the Web regarding these topics would indicate a disconnect between the S-Expression and XML camps. The purpose of this article is to bridge the two worlds and offer a solution that addresses everyone's needs.

To illustrate the differences among the three syntaxes, let's start with a data structure expressed in XML S-Expressions, ConciseXML, and also a commonly used semicolon-delimited syntax used by many programming languages, including Java. While there are multiple ways of encoding the data in XML and S-Expressions, only one is shown for the purposes of the first comparison.

* XML



* S-Expressions

(book "0764525360" "Water Language" 2002)

* ConciseXML



* Semicolon-Delimited Syntax

new Book ("0764525360", "Water Language", 2002);

There are a number of similarities among the first three syntaxes:

* The expressions are delimited by characters that indicate the start and end of the expression. S-Expressions are delimited by a set of parentheses "( )", while XML and ConciseXML expressions use angle brackets " ".

* The expression name occurs immediately after the initial delimiter.

* White space is used to separate arguments.

* The syntax is independent of a specific language.

The semicolon-delimited syntax is different from the others in several ways. A comma is used between arguments, and there is no set of delimiter characters that always begin or end an expression. Parsing a semicolon-delimited syntax requires that the parser have language-specific knowledge. The first three syntaxes can be easily parsed, independent of any language.

Now let's look at some of the differences among the four...



More articles from XML Journal
Remember ebXML? Doing business in real time.(Standards), February 01, 2004
Web-services transactions: from Loosely Coupled--the Missing Pieces of..., February 01, 2004
FileAct for SWIFTNet: helping financial services gain savings from the..., February 01, 2004
Rendering a connected tree using XSLT: the ideas behind XSLT and XPath..., February 01, 2004

Looking for additional articles?
Click here to search our database of over 3 million articles.