Revealing the X/O impedance mismatch: changing lead into gold

  • Authors:
  • Ralf Lämmel;Erik Meijer

  • Affiliations:
  • Microsoft Corp., Data Programmability Team, Redmond;Microsoft Corp., Data Programmability Team, Redmond

  • Venue:
  • SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We take the term X/O impedance mismatch to describe the difficulty of the OO paradigm to accommodate XML processing by means of recasting it to typed OO programming. In particular, given XML types (say, XML schemas), it is notoriously difficult to map them automatically to object types (say, object models) that (i) reasonably compare to native object types typically devised by OO developers; (ii) fully preserve the intent of the original XML types; (iii) fully support round-tripping of arbitrary, valid XML data; and (iv) provide a general and convenient programming model for XML data hosted by objects. We reveal the X/O impedance mismatch in particular detail. That is, we survey the relevant differences between XML and objects in terms of their data models and their type systems. In this process, we systematically record and assess X-to-O mapping options. Our illustrations employ XSD (1.0) as the XML-schema language of choice and C# (1.0-3.0) as the bound of OO language expressiveness.