Abstract
In service-oriented loosely coupled distributed information systems, the format and semantics of the exchanged data become more and more important. We envisage that there will be an increasing number of general and domain-specific XML-based data formats for service-oriented computing. A typical example is a tax declaration form. If the schemas defining the formats specify structural and additional integrity constraints, we speak of constrained XML.
The paper describes a technique for an integration of constrained XML data into programming, which is able to handle integrity constraints. Our technique allows us to automatically check the correctness of programs manipulating constrained XML data. In our approach, constrained XML data is treated like an abstract data type with an interface of schema-specific procedures. Programs use these procedures to manipulate the XML data. The preconditions of the procedures guarantee that procedures maintain the constraints. Our approach allows us to automatically generate the preconditions and to simplify them to a minimal form. The technique is based on a path representation and logical embedding of XML data. The weakest precondition generation is implemented and exploits an SMT-solver for simplification.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Calcagno, C., Gardner, P., Zarfaty, U.: Context Logic and Tree Update. SIGPLAN Not. 40(1), 271–282 (2005)
Clark, J.: RELAX NG Compact Syntax (November 2002), http://www.oasis-open.org/committees/relax-ng/compact-20021121.html
Clark, J., Makoto, M.: RELAX NG Specification (December 2001), http://www.oasis-open.org/committees/relax-ng/spec-20011203.html
Gardner, P.A., Smith, G.D., Wheelhouse, M.J., Zarfaty, U.D.: Local Hoare Reasoning about DOM. In: PODS 2008: Proceedings of the Twenty-Seventh ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, pp. 261–270. ACM, New York (2008)
Harren, M., Raghavachari, M., Shmueli, O., Burke, M.G., Bordawekar, R., Pechtchanski, I., Sarkar, V.: XJ: Facilitating XML Processing in Java. In: WWW 2005: Proceedings of the 14th International Conference on World Wide Web, pp. 278–287. ACM, New York (2005)
Hosoya, H., Pierce, B.C.: XDuce: A Statically Typed XML Processing Language. ACM Trans. Internet Techn. 3(2), 117–148 (2003)
Michel, P., Poetzsch-Heffter, A.: Assertion Support for Manipulating Constrained Data-Centric XML. In: International Workshop on Programming Language Techniques for XML (PLAN-X 2009) (January 2009)
Microsystems, S.: Java Architecture for XML Binding (JAXB), http://java.sun.com/developer/technicalArticles/WebServices/jaxb//
Sourceforge. Simple API for XML (SAX), http://www.saxproject.org/
W3C. Document object model (DOM), http://www.w3.org/DOM/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Michel, P., Poetzsch-Heffter, A. (2010). Maintaining XML Data Integrity in Programs. In: van Leeuwen, J., Muscholl, A., Peleg, D., Pokorný, J., Rumpe, B. (eds) SOFSEM 2010: Theory and Practice of Computer Science. SOFSEM 2010. Lecture Notes in Computer Science, vol 5901. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11266-9_50
Download citation
DOI: https://doi.org/10.1007/978-3-642-11266-9_50
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11265-2
Online ISBN: 978-3-642-11266-9
eBook Packages: Computer ScienceComputer Science (R0)