Skip to main content

Maintaining XML Data Integrity in Programs

An Abstract Datatype Approach

  • Conference paper
SOFSEM 2010: Theory and Practice of Computer Science (SOFSEM 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5901))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Calcagno, C., Gardner, P., Zarfaty, U.: Context Logic and Tree Update. SIGPLAN Not. 40(1), 271–282 (2005)

    Article  Google Scholar 

  2. Clark, J.: RELAX NG Compact Syntax (November 2002), http://www.oasis-open.org/committees/relax-ng/compact-20021121.html

  3. Clark, J., Makoto, M.: RELAX NG Specification (December 2001), http://www.oasis-open.org/committees/relax-ng/spec-20011203.html

  4. 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)

    Chapter  Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. Hosoya, H., Pierce, B.C.: XDuce: A Statically Typed XML Processing Language. ACM Trans. Internet Techn. 3(2), 117–148 (2003)

    Article  Google Scholar 

  7. 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)

    Google Scholar 

  8. Microsystems, S.: Java Architecture for XML Binding (JAXB), http://java.sun.com/developer/technicalArticles/WebServices/jaxb//

  9. Sourceforge. Simple API for XML (SAX), http://www.saxproject.org/

  10. W3C. Document object model (DOM), http://www.w3.org/DOM/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics