Picture of Open Access badges

Discover Open Access research at Strathprints

It's International Open Access Week, 24-30 October 2016. This year's theme is "Open in Action" and is all about taking meaningful steps towards opening up research and scholarship. The Strathprints institutional repository is a digital archive of University of Strathclyde research outputs. Explore recent world leading Open Access research content by University of Strathclyde researchers and see how Strathclyde researchers are committing to putting "Open in Action".


Image: h_pampel, CC-BY

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.

PDF (strathprints002456.pdf)

Download (274kB) | Preview


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.