Extracting typed values from XML data

R. Connor, D. Lievens, P. Manghi, S. Neely, F. Simeoni

Research output: Contribution to conferencePaper

9 Downloads (Pure)

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.
Original languageEnglish
Number of pages11
Publication statusPublished - 28 Sep 2001
EventOOPSLA 2001 Workshop on Objects, XML and Databases publications - Florida, USA
Duration: 14 Oct 200118 Oct 2001

Conference

ConferenceOOPSLA 2001 Workshop on Objects, XML and Databases publications
CityFlorida, USA
Period14/10/0118/10/01

Keywords

  • programming languages
  • XML
  • language-specific mechanisms

Fingerprint Dive into the research topics of 'Extracting typed values from XML data'. Together they form a unique fingerprint.

Cite this