Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Civil-Comp Proceedings
ISSN 1759-3433
CCP: 77
Edited by: B.H.V. Topping
Paper 3

Data Extraction in Engineering Software using XML

M.E. Williams+, G.R. Consolazio* and M.I. Hoit*

+Florida Bridge Software Institute
*College of Engineering
University of Florida, Gainesville, USA

Full Bibliographic Reference for this paper
M.E. Williams, G.R. Consolazio, M.I. Hoit, "Data Extraction in Engineering Software using XML", in B.H.V. Topping, (Editor), "Proceedings of the Ninth International Conference on Civil and Structural Engineering Computing", Civil-Comp Press, Stirlingshire, UK, Paper 3, 2003. doi:10.4203/ccp.77.3
Keywords: XML, software, data storage, data extraction, Mathcad, AutoCAD.

Most engineering analysis programs rely on customized procedures for storing and accessing scientific data. The size of the dataset needed to characterize an engineering problem can be substantial, particularly as the problem increases in complexity. A difficulty often arises when the user of the software tries to gain access to the scientific data utilized or produced by a particular program. The data is typically inconveniently available in undocumented binary files or lengthy text files. This paper presents a methodology for greatly improving the accessibility of scientific data using the Extensible Markup Language (XML) to define a consistent and open procedure for data storage and retrieval. When the data is expressed in an XML format, any portion of the data can be easily accessed using a freely available XML parser. Any programmable software that can interface with an XML parser can obtain straightforward access to data stored in an XML format. This paper demonstrates such data extraction using Mathcad to perform structural design calculations based on finite element analysis results and AutoCAD to generate structural design drawings. This method of data exchange can easily be demonstrated in other commonly used scientific programs as well.

Data storage has evolved considerably with the advent of personal computers. Perhaps the oldest and still commonly used form of data storage utilizes a custom file format, either binary or textual. More recently, software developers have turned to databases to store information in an orderly and readily accessible format. One of the disadvantages of databases, however, is their data storage in a binary and often proprietary format. Such a format does not ease interoperability between different software packages unless a translation layer is provided to exchange data. Today, the rapid growth of the Internet and the promotion of information exchange has spurred the development of XML as the standard for exchanging data. Most Internet-based applications are embracing XML, however, there has been some reluctance to modify existing engineering applications and legacy programs to utilize XML for data storage and information exchange. Given the widespread implementation of XML for Internet-based applications, it seems certain that XML data storage can also be successfully applied to desktop applications.

One of the main goals of this paper is to show how data can be stored in an XML format with relatively minor modifications to existing engineering software. In fact, most of the program changes involve the writing formatted data to a new XML output text file. This work can be accomplished by calling one of several data output functions that handle writing the data in an XML format. Because of the widespread use of Fortran in existing engineering codes, the example XML writing code presented in this work will use Fortran for illustrative purposes. The program logic also applies to procedural languages such as C and object oriented languages such as Visual Basic and C++.

A major objective of this work is to encourage third-party software developers to access XML data files to shift the programming effort from a single software developer to a collaborative effort of related software developers. This shift in software development not only promotes the standardization of engineering data storage, but also advances the capabilities of engineering software.

This paper demonstrates that XML provides a suitable data storage format, however, one of the perceived drawbacks of this work is the size of the XML data file. The use of markup tags for every data item does produce a larger data file when compared to tradition text or binary data files. For large finite element codes, for example, where the standard text output is roughly 10 to 100 MB in size, the corresponding XML data file could be several times larger and require a significant amount of parsing time. With increases in computing power and disk storage, however, this perceived size limitation may not be noticeable in future program applications.

"AutoCAD Users Manual. ActiveX and VBA Developers Guide."Autodesk, Inc. 2002.
Hunter, D., "Beginning XML: 2nd Edition." Birmingham UK: Wrox Press, 2001.
"Mathcad Users Manual. Developers Guide." MathSoft Engineering & Education, Inc. 2001.
"Microsoft XML Core Services (MSXML) 4.0." Microsoft Corporation. 2002.
World Wide Web Consortium (W3C). "Document Object Model (DOM)." 1999.
World Wide Web Consortium (W3C). "XML Specification Version 1.0." Oct 2000.
"The XML Revolution." Autodesk White Paper. Autodesk, Inc. 2002.

purchase the full-text of this paper (price £20)

go to the previous paper
go to the next paper
return to the table of contents
return to the book description
purchase this book (price £123 +P&P)