Picture of wind turbine against blue sky

Open Access research with a real impact...

The Strathprints institutional repository is a digital archive of University of Strathclyde research outputs.

The Energy Systems Research Unit (ESRU) within Strathclyde's Department of Mechanical and Aerospace Engineering is producing Open Access research that can help society deploy and optimise renewable energy systems, such as wind turbine technology.

Explore wind turbine research in Strathprints

Explore all of Strathclyde's Open Access research content

Language Bindings to XML

Simeoni, F. and Lievens, D. and Connor, R. and Manghi, P. (2003) Language Bindings to XML. IEEE Internet Computing, 7 (1). pp. 19-27. ISSN 1089-7801

Full text not available in this repository. (Request a copy from the Strathclyde author)

Abstract

In this paper, we investigate the issues that arise when binding statically typed languages to XML data. In particular, our motivation is to exploit the computational facilities of mainstream languages when computing over real-world entities encoded as XML documents or document fragments. These include completeness, strong typing, efficiency, as well as user-base and support. We first show that standard binding solutions, such as the SAX and DOM APIs, do not preserve the semantics of such entities, and thus hinder program specification, verification, and optimisation. We then compare two novel approaches, which rely on type information to preserve semantics. The first is Sun's JAXB architecture, in which types are automatically generated from document descriptions. The second is our SNAQue architecture, where types are directly specified by binding computations. For certain classes of applications, we show that the latter offers substantial advantages in terms of simplicity and flexibility. In previous work we have formally proven that SNAQue bindings can be correctly built for a representative, canonical language. Here, we extend that work and present SNAQue/J, a binding mechanism specific to the Java language.