The purpose of the collaboration between NCSA and the Pablo Group of the Computer Science Department of the University of Illinois was to create an XML binding for the Pablo Self-Defining Data Format (SDDF). Such a binding creates a simple, descriptive way of formatting SDDF data allowing one to view the record in a browser or to insert it into a database for further analysis using tools already available such as XSL, Java, and XML parsers.
The first step in the project was to create an SDDF/XML binding for SDDF data. This was relatively straight-foward because SDDF already has a structured data format. The SDDF/XML DTD adds one feature which wasn't in SDDF. SDDF represents arrays in one-dimension. I.e., if you have a two dimensional array of doubles, SDDF would represent them in this form:
[2][3] {
3.1415926,
2.717,
1.414,
0.0700,
9.27,
37.01
};
whereas the SDDF/XML of this data would be:
<dim size="2"> <dim size="3"> <v>3.1415926<v> <v>2.717<v> <v>1.414<v> </dim> <dim> <v>0.0700<v> <v>9.27<v> <v>37.01<v> </dim> </dim>
See the example for more on the SDDF/XML syntax. The benefit of such a change have yet to be seen.
The result of the above work on Pablo/XML bindings is the Cadre project. The project takes the XML documents produced from translating SDDF into XML and places them into a database for access through the Web. The Cadre page has more information on Cadre including the software used and how to configure it.
The idea behind using XSL was to use current browsers which can support XSL stylesheets (such as Microsoft's Internet Explorer 5.0TM) to view SDDF/XML data.
The SDDF XSL stylesheet which resulted, however, didn't show the data correctly in the browser. Work is continuing on this, however. Recently, two new IBM technologies:
show promise of continuing the project.
Using Java's XML parser, JDBC, and PostgreSQL's database, it was easy to create a Java application which would take the SDDF/XML record and insert it into a database. However, the application does take an appreciable amount of time to insert a medium sized record. This time could be lessened by using a "just-in-time" (JIT) compiler for Java.
Further development on the database toolkit end will focus on creating functions which allow for easy querying of the database and comparisons between SDDF trace files.
Download the SDDF/XML software.