Object-Oriented Constraints for XML Schema - Alagic, Suad; Bernstein, Phil; Jairath, Ruchi (Lecture Notes in Computer Science, 2010)
This paper presents an object-oriented representation of the core structural and constraint-related features of XML Schema. The structural features are represented within the limitations of object-oriented type systems including particles (elements and groups) and type hierarchies (simple and complex types and type derivations). The applicability of the developed representation is demonstrated through a collection of complex object-oriented queries. The main novelty is that features of XML Schema that are not expressible in object-oriented type systems such as range constraints, keys and referential integrity, and type derivation by restriction are specified in an object-oriented assertion language Spec#. An assertion language overcomes major problems in the object-oriented/XML mismatch. It allows specification of schema integrity constraints and transactions that are required to preserve those constraints. Most importantly, Spec# technology comes with automatic static verification of code with respect to the specified constraints. This technology is applied in the paper to transaction verification.