Picture of two heads

Open Access research that challenges the mind...

The Strathprints institutional repository is a digital archive of University of Strathclyde research outputs. Strathprints provides access to thousands of Open Access research papers by University of Strathclyde researchers, including those from the School of Psychological Sciences & Health - but also papers by researchers based within the Faculties of Science, Engineering, Humanities & Social Sciences, and from the Strathclyde Business School.

Discover more...

Extracting typed values from XML data

Connor, R. and Lievens, D. and Manghi, P. and Neely, S. and Simeoni, F. (2001) Extracting typed values from XML data. In: OOPSLA 2001 Workshop on Objects, XML and Databases publications, 2001-10-14 - 2001-10-18.

[img]
Preview
PDF (strathprints002456.pdf)
strathprints002456.pdf

Download (274kB) | Preview

Abstract

Values of existing typed programming languages are increas- ingly generated and manipulated outside the language juris- diction. Instead, they often occur as fragments of XML docu- ments, where they are uniformly interpreted as labelled trees in spite of their domain-specific semantics. In particular, the values are divorced from the high-level type with which they are conveniently, safely, and efficiently manipulated within the language. We propose language-specific mechanisms which extract language values from arbitrary XML documents and inject them in the language. In particular, we provide a general framework for the formal interpretation of extraction mecha- nisms and then instantiate it to the definition of a mechanism for a sample language core L. We prove that such mechanism can be built by giving a sound and complete algorithm that implements it. The values, types, and type semantics of L are sufficiently general to show that extraction mechanisms can be defined for many existing typed languages, including object-oriented languages. In fact, extraction mechanisms for a large class of existing languages can be directly derived from L's. As a proof of this, we introduce the SNAQue prototype system, which transforms XML fragments into CORBA objects and exposes them across the ORB framework to any CORBA-compliant language.