Skip to main content

CLP(Flex): Constraint Logic Programming Applied to XML Processing

  • Conference paper
On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE (OTM 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3291))

Abstract

In this paper we present an implementation of a constraint solving module, CLP(Flex), for dealing with unification in an equality theory for terms with flexible arity function symbols. Then we present an application of CLP(Flex) to XML-processing where XML documents are abstracted by terms with flexible arity symbols. This gives a highly declarative model for XML processing yielding a substantial degree of flexibility in programming.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Benzaken, V., Castagna, G., Frisch, A.: CDuce: an XMLcentric general-purpose language. In: Proceedings of the eighth ACM SIGPLAN International Conference on Functional Programming, Uppsala, Sweden, pp. 51–63. ACM Press, Uppsala (2003)

    Chapter  Google Scholar 

  2. Boley, H.: Relationships between logic programming and XML. In: Proc. 14th Workshop Logische Programmierung (2000)

    Google Scholar 

  3. Bry, F., Schaffert, S.: The XML Query Language Xcerpt: Design Principles, Examples, and Semantics. In: 2nd Annual International Workshop Web and Databases. LNCS, vol. 2593, Springer, Heidelberg (2002)

    Google Scholar 

  4. Bry, F., Schaffert, S.: Towards a Declarative Query and Transformation Language for XML and Semistructured Data: Simulation Unification. In: International Conference on Logic Programming (ICLP), LNCS, vol. 2401 (2002)

    Google Scholar 

  5. Buchberger, B., Dupre, C., Jebelean, T., Konev, B., Kriftner, F., Kutsia, T., Nakagawa, K., Piroi, F., Vasaru, D., Windsteiger, W.: The Theorema System: Proving, Solving, and Computing for the Working Mathematician. Technical Report 00-38, Research Institute for Symbolic Computation, Johannes Kepler University, Linz (2000)

    Google Scholar 

  6. Cheadle, A.M., Harvey, W., Sadler, A.J., Schimpf, J., Shen, K., Wallace, M.G.: ECLiPSe: An Introduction. Technical Report IC-Parc-03-1, IC-Parc, Imperial College London, London (2003)

    Google Scholar 

  7. Coelho, J., Florido, M.: Type-based XML Processing in Logic Programming. In: Dahl, V., Wadler, P. (eds.) PADL 2003. LNCS, vol. 2562, pp. 273–285. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  8. Coelho, J., Florido, M.: CLP(Flex): Constraint logic programming applied to XML processing. Technical report, DCC-FC, LIACC. University of Porto (2004), available from www.ncc.up.pt/~jcoelho/clpflex.pdf

  9. Colmerauer, A.: An introduction to Prolog III. Communications of the ACM 33(7), 69–90 (1990)

    Article  Google Scholar 

  10. Colmerauer, A.: Prolog III Reference and Users Manual, Version 1.1. In: PrologIA, Marseilles (1990)

    Google Scholar 

  11. Farquhar, A., Fikes, R., Rice, J.: The ontolingua server: A tool for collaborative ontology construction. International Journal of Human-Computer Studies 46(6), 707–727 (1997)

    Article  Google Scholar 

  12. Genesereth, M.R., Fikes, R.E.: Knowledge Interchange Format, Version 3.0 Reference Manual TR Logic-92-1. Technical report, Stanford University, Stanford (1992)

    Google Scholar 

  13. Hosoya, H., Pierce, B.: XDuce: A typed XML processing language. In: Suciu, D., Vossen, G. (eds.) WebDB 2000. LNCS, vol. 1997, p. 226. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  14. Jaffar, J.: Minimal and complete word unification. Journal of the ACM 37(1), 47–85 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  15. Jaffar, J., Lassez, J.L.: Constraint Logic Programming. In: Proceedings of the Fourteenth Annual ACM Symp. on Principles of Programming Languages, POPL 1987, Munich, Germany, pp. 111–119. ACM Press, New York (1987)

    Google Scholar 

  16. Jaffar, J., Maher, M.J.: Constraint logic programming: A survey. Journal of Logic Programming 19/20, 503–581 (1994)

    Article  MathSciNet  Google Scholar 

  17. Jaffar, J., Michaylov, S., Stuckey, P.J., Yap, R.H.C.: The CLP(R) Language and System. Trans. Program. Lang. Syst. 14, 339–395 (1992)

    Article  Google Scholar 

  18. Kutsia, T.: Unification with sequence variables and flexible arity symbols and its extension with pattern-terms. In: Calmet, J., Benhamou, B., Caprotti, O., Hénocque, L., Sorge, V. (eds.) AISC 2002 and Calculemus 2002. LNCS (LNAI), vol. 2385, pp. 290–304. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  19. Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)

    MATH  Google Scholar 

  20. Makanin, G.S.: The problem of solvability of equations in a free semigroup. Math. Sbornik USSR 103, 147–236 (1977)

    MathSciNet  Google Scholar 

  21. May, W.: XPathLog: A Declarative, Native XML Data Manipulation Language. In: International Database Engineering & Applications Symposium (IDEAS 2001), Grenoble, France, IEEE, Los Alamitos (2001)

    Google Scholar 

  22. Pillow: Programming in (Constraint) Logic Languages on the Web, http://clip.dia.fi.upm.es/Software/pillow/pillow.html

  23. SWI Prolog, http://www.swi-prolog.org/

  24. Schulz, K.U.: Word unification and transformation of generalized equations. Journal of Automated Reasoning 11(2), 149–184 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  25. Smolka, G.: Feature constraint logics for unification grammars. Journal of Logic Programming 12, 51–87 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  26. Extensible Markup Language (XML), http://www.w3.org/XML/

  27. XSL Transformations (XSLT) (1999), http://www.w3.org/TR/xslt/

  28. Xtatic, http://www.cis.upenn.edu/~bcpierce/xtatic/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Coelho, J., Florido, M. (2004). CLP(Flex): Constraint Logic Programming Applied to XML Processing. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE. OTM 2004. Lecture Notes in Computer Science, vol 3291. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30469-2_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30469-2_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23662-7

  • Online ISBN: 978-3-540-30469-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics