This paper proposes extending popular object-oriented programming languages such as C#, VB or Java with native support for XML. In our approach XML documents or document fragments become first class citizens. This means that XML values can be constructed, loaded, passed, transformed and updated in a type-safe manner. The type system extensions, however, are not based on XML Schemas. We show that XSDs and the XML data model do not fit well with the class-based nominal type system and object graph representation of our target languages. Instead we propose to extend the C# type system with new structural types that model XSD sequences, choices, and all-groups. We also propose a number of extensions to the language itself that incorporate a simple but expressive query language that is influenced by XPath and SQL. We demonstrate our language and type system by translating a selection of the XQuery use cases.
[1]
J W Ballard,et al.
Data on the web?
,
1995,
Science.
[2]
田端 利宏,et al.
Network and Distributed System Security Symposiumにおける研究動向の調査
,
2004
.
[3]
Dave A. Thomas.
The Impedance Imperative - Tuples + Objects + Infosets = Too Much Stuff!
,
2003,
J. Object Technol..
[4]
Luca Cardelli,et al.
Modern concurrency abstractions for C#
,
2002,
TOPL.
[5]
Philip Wadler,et al.
The essence of XML
,
2003,
POPL '03.
[6]
Martín Abadi,et al.
Access Control Based on Execution History
,
2003,
NDSS.
[7]
Wolfram Schulte,et al.
Unifying Tables, Objects and Documents
,
2003
.