Dr. Dobb's Journal June 2003
XML Data Binding
Dear DDJ,
I was surprised that the article "XML Data Binding" by Eldon Metz and Allen Brookes (DDJ, March 2003) failed to mention the existence of this Java specification Standard's effort for XML Data Binding, but did use a graphic similar to one originally produced by the initial specification lead and submitter, Mark Reinhold of Sun Microsystems. The original July 30, 1999 document (http://java.sun.com/xml/jaxp/dist/1.0.1/docs/bind.pdf) published a graphic similar to Figure 1 (page 26). The latest JAXB specification (http://java.sun.com/xml/jaxb/) uses an evolved enhancement to this graphic. A reference implementation of this specification is also available. By the way, I am the current specification lead for Java Architecture for XML Binding (JAXB). This specification effort is being worked on within the Java Community Process (JCP) as JSR-31 (http://jcp.org/en/jsr/detail?id=310.
Joe Fialli
joseph.fialli@sun.com
Eldon responds: Greetings Joe, and thanks for your note. In late summer of 2001 (during my employment at Rogue Wave Software), I prototyped an XML data-binding solution for C++ that was based on XML Schema and presented the working prototype and business case for producing it to the company. The original PowerPoint I put together contained some form of the diagram you mention, and I recall originally deriving it from an online PowerPoint from a Java technology evangelist by the name of Raghavan N. Srinivas (http://www.necina.org/oldsite/Necina.pdf). Although there were references to JAXB in this presentation, there was no explicit reference to the JAXB specification or Mark as the original source of the diagram. If a JSR existed at this point, I was not aware of it. I suppose when putting the article together, we should have referenced the PowerPoint. Also, in hindsight, we should have explicitly referenced JAXB since one can argue it is really the beginning of "XML Data Binding" concepts. Instead, we chose to reference Ronald Bourret's list of XML data-binding resources, which includes JAXB as well as other resources. I assure you, we did not meaningfully omit credit anywhere it was due. Thanks for your comments and please accept my apology for this accidental omission.
XML-Based Programming
Dear DDJ,
I found Gregory Wilson's article "XML-Based Programming Systems" (DDJ, March 2003) very interesting. Readers may also be interested in checking out the JSML initiative (spearheaded by Wrox authors Erik Fuller and Michael Corning; see http://www.jsml.org/), which is a step along the lines Greg suggests in his article. Essentially, they are using an XML structure to let programmers build an object model using the standard jscript programming language, and then using XSLT to render the objects to standard jscript. I especially found Greg's reference to LISP interesting, as I used to do a lot of development using that language.
Mike Morley
mikem@pandell.com
Dear DDJ,
Gregory Wilson's article "XML-Based Programming Systems" (DDJ, March 2003) starts with a JSP example using scriptlets. That particular example can be programmed directly in XML syntax using the JSP Standard Tag Library (JSTL) and, if using XML syntax, the JSP page will be a namespace-aware XML document. My typos apart, the example would look something like this:
<html>
<body>
<table border="2">
<c:forEach
xmlns:c="http://java.sun.com/jstl/core"
var="i" begin="1" end="3">
<tr>
<td>Number</td>
<td>${i+1}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
This is quite XSLTy, except that it is an imperative programming style, not the recursive pattern-matching style of XSLT.
Eduardo Pelegri-Llopart
pelegri@sun.com
Block-Structured Languages
Dear DDJ,
In reading Trevor Davel's letter in DDJ (April 2003), I was reminded of my experiences of some 20 years ago.
I had recently acquired a CP/M computer. At the time, I had been programming in Fortran, Basic, Cobol, and several assembly languages for more than 25 years, and was employed by a large chemical company as manager of technical systems and programming. The languages I had available on the CP/M machine were Basic, Turbo Pascal, dBase II, and the assembler.
I quickly learned that Pascal was too sensitive to the locations of semicolons to be practical as a language for developing production systems. The problem was aggravated by the Pascal compiler, which reports the error at the point at which it discovers that there is an error, rather than the point at which all errors are corrected. Finding the error too often became a tedious exercise in inserting END statements until the error had been localized.
This is one more illustration of the evils of block-structured languages. Is there any hope of returning to the sanity of separately compiled subroutines, which can be tested before being incorporated into the executable, as was the usual practice with Fortran code even in the early 1970s?
Arpad Elo, Jr.
Danville, VT
History Lesson
Dear DDJ,
I read, with not inconsiderable interest, Michael Swaine's column entitled "History Lessons" (DDJ, March 2003) and it just seems to me that he may have "missed" the pioneering work carried out by Dr. Maurice Vincent Wilkes, Professor Emeritus, University of Cambridge, pertaining to EDSAC (http://ei.cs.vt.edu/~history/Wilkes.html)! Tempus fugit et ad augusta per angusta.
Joseph Roy D. North
joseph9_north@yahoo.com
DDJ