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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Boley, H.: Relationships between logic programming and XML. In: Proc. 14th Workshop Logische Programmierung (2000)
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)
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)
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)
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)
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)
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
Colmerauer, A.: An introduction to Prolog III. Communications of the ACM 33(7), 69–90 (1990)
Colmerauer, A.: Prolog III Reference and Users Manual, Version 1.1. In: PrologIA, Marseilles (1990)
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)
Genesereth, M.R., Fikes, R.E.: Knowledge Interchange Format, Version 3.0 Reference Manual TR Logic-92-1. Technical report, Stanford University, Stanford (1992)
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)
Jaffar, J.: Minimal and complete word unification. Journal of the ACM 37(1), 47–85 (1990)
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)
Jaffar, J., Maher, M.J.: Constraint logic programming: A survey. Journal of Logic Programming 19/20, 503–581 (1994)
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)
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)
Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)
Makanin, G.S.: The problem of solvability of equations in a free semigroup. Math. Sbornik USSR 103, 147–236 (1977)
May, W.: XPathLog: A Declarative, Native XML Data Manipulation Language. In: International Database Engineering & Applications Symposium (IDEAS 2001), Grenoble, France, IEEE, Los Alamitos (2001)
Pillow: Programming in (Constraint) Logic Languages on the Web, http://clip.dia.fi.upm.es/Software/pillow/pillow.html
SWI Prolog, http://www.swi-prolog.org/
Schulz, K.U.: Word unification and transformation of generalized equations. Journal of Automated Reasoning 11(2), 149–184 (1993)
Smolka, G.: Feature constraint logics for unification grammars. Journal of Logic Programming 12, 51–87 (1992)
Extensible Markup Language (XML), http://www.w3.org/XML/
XSL Transformations (XSLT) (1999), http://www.w3.org/TR/xslt/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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