Abstract
xml is a language for describing markup languages for structured data. A growing number of applications that process xml documents are transformers, i.e., programs that convert documents between xml languages. Unfortunately, the current proposals for transformers are complex general-purpose languages, which will be unappealing as the xml user base broadens and thus decreases in technical sophistication. We have designed and implemented xt3d, a highly declarative xml specification language. It demands little more from users than a knowledge of the expected input and desired output. We illustrate the power of xt3d with several examples, including one reminiscent of polytypic programming that greatly simplifies the import of xml values into general-purpose languages.
This work is partially supported by NSF grants CCR-9619756, CDA-9713032 and CCR-9708957, and a Texas ATP grant.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Beech, D., S. Lawrence, M. Maloney, N. Mendelsohn and H. S. Thompson. XML Schema part 1: Structures. Technical report, World Wide Web Consortium, September 1999.
Bellé, G., C. B. Jay and E. Moggi. Functorial ML. In International Symposium on Programming Languages: Implementations, Logics, and Programs, pages 32–46, 1996.
Bray, T., J. Paoli and C. Sperberg-McQueen. Exensible markup language XML. Technical report, World Wide Web Consortium, Feburary 1998. Version 1.0.
Clark, J. XSL transformations. Technical report, World Wide Web Consortium, October 1999. Version 1.0.
Davidson, A., M. Fuchs, M. Hedin, M. Jain, J. Koistinen, C. Lloyd, M. Maloney and K. Schwarzhof. Schema for object-oriented XML. Technical report, World Wide Web Consortium, July 1999. Version 2.0.
Deach, S. Extensible Stylesheet Language XSL specification. Technical report, World Wide Web Consortium, April 1999.
Dybvig, R. K., R. Hieb and C. Bruggeman. Syntactic abstraction in Scheme. Lisp and Symbolic Computation, 5(4):295–326, December 1993.
Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.
International Business Machines. PatML. Web document: http://www.alphaWorks.ibm.com/formula/patml/.
Jansson, P. and J. Jeuring. PolyP—a polytypic programming language extension. In Symposium on Principles of Programming Languages, pages 470–482, 1997.
Kelsey, R., W. Clinger and J. Rees. Revised5 report on the algorithmic language Scheme. ACM SIGPLAN Notices, 33(9), October 1998.
Kohlbecker, E. E., D. P. Friedman, M. Felleisen and B. F. Duba. Hygienic macro expansion. In ACM Symposium on Lisp and Functional Programming, pages 151–161, 1986.
Kohlbecker, E. E. and M. Wand. Macros-by-example: Deriving syntactic transformations from their specifications. In Symposium on Principles of Programming Languages, pages 77–84, 1987.
Krishnamurthi, S., Y.-D. Erlich and M. Felleisen. Expressing structural properties as language constructs. In European Symposium on Programming, March 1999.
Krishnamurthi, S., M. Felleisen and B. F. Duba. From macros to reusable generative programming. In Generative and Component-Based Software Engineering, September 1999.
Meertens, L. Calculate polytypically! In International Symposium on Programming Languages: Implementations, Logics, and Programs, 1996.
Wadler, P. A formal semantics of patterns in XSLT. In Markup Technologies, December 1999.
Wallace, M. and C. Runciman. Haskell and XML: Generic document processing combinators vs. type-based translation. In International Conference on Functional Programming, September 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Krishnamurthi, S., Gray, K.E., Graunke, P.T. (1999). Transformation-by-Example for XML. In: Pontelli, E., Santos Costa, V. (eds) Practical Aspects of Declarative Languages. PADL 2000. Lecture Notes in Computer Science, vol 1753. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46584-7_17
Download citation
DOI: https://doi.org/10.1007/3-540-46584-7_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66992-0
Online ISBN: 978-3-540-46584-3
eBook Packages: Springer Book Archive