Data Binding for Schemata with Integrity Constraints and Atomic Procedures
While XML has become the de facto standard to represent structured data, common XML schema languages are quite restricted in their definition capability. Structural constraints are widely used throughout all schema languages, some languages also support global reference constraints, yet integrity constraints based on local references or values and arithmetic comparisons are uncommon. Data binding techniques, connecting XML with programming languages in a more typesafe way than SAX or DOM, exist for most commonly used schema languages. These techniques are only capable of handling structural constraints. This thesis proposes and implements a binding between schemata supporting more data-centric constraints and class-based object oriented languages. The binding generates class files from a schema file, defines a translation between objects and documents, and checks adherence to integrity constraints of documents and manipulations performed on the objects. The binding puts focus on correctness of constraint checks and usability of the generated library, using several heuristics to assist the user rather than supporting unorthodox schema definitions.